第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

querySelectorAll() 排除屬性及其子屬性

querySelectorAll() 排除屬性及其子屬性

Go
哈士奇WWW 2023-08-21 15:21:43
我有一棵看起來像的元素樹。<div>  <div required>    <div content></div>  </div>  <div>    <div content></div>  </div></div>如何在根 div 上執(zhí)行 querySelector 來獲取標(biāo)記為“內(nèi)容”的所有元素,而不獲取任何位于具有“required”屬性的父元素下方的元素?我在想類似的事情。querySelectorAll('[content]:not([required]')但是該查詢將獲取標(biāo)記為內(nèi)容且未標(biāo)記為必需的所有元素,而不是獲取標(biāo)記為不低于必需元素的內(nèi)容的所有元素。
查看完整描述

2 回答

?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊

不幸的是,:not只接受一個(gè)簡單的選擇器,因此:not([required] [content])匹配[content]不是子元素的選擇器[content]是行不通的。選擇元素后,您必須以編程方式過濾它們:


const notRequiredContents = [...document.querySelectorAll('[content]')]

  .filter(elm => !elm.closest('[required]'));

console.log(notRequiredContents);

<div>

  <div required>

    <div content></div>

  </div>

  <div>

    <div content></div>

  </div>

</div>

理論上可以通過:not([required])與后代選擇器鏈接來僅使用查詢字符串來完成此操作,但它看起來非常丑陋且重復(fù),不應(yīng)該這樣做:


const notRequiredContents = document.querySelectorAll(`

  body > :not([required]) > [content],

  body > :not([required]) > :not([required]) > [content],

  body > :not([required]) > :not([required]) > :not([required]) > [content],

  body > :not([required]) > :not([required]) > :not([required]) > :not([required]) > [content]

`);

// continue above pattern for as much nesting as may exist

console.log(notRequiredContents[0], notRequiredContents.length);

<div>

  <div required>

    <div content>a</div>

  </div>

  <div>

    <div content>b</div>

  </div>

</div>


查看完整回答
反對 回復(fù) 2023-08-21
?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊

重復(fù)示例

JS


const query = document.querySelectorAll('div :not([required]) [content]')

query.forEach((element) => {

  console.log(element.innerHTML)

})

超文本標(biāo)記語言


<div>

  <div required>

    <div content>NO</div>

  </div>

  <div>

    <div content>YES</div>

    <div>

      <div content>YES</div>

    </div>

  </div>

</div>


查看完整回答
反對 回復(fù) 2023-08-21
  • 2 回答
  • 0 關(guān)注
  • 325 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號