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

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

如何選擇除某些元素的子樹(shù)中的元素之外的所有元素?

如何選擇除某些元素的子樹(shù)中的元素之外的所有元素?

炎炎設(shè)計(jì) 2023-09-18 15:59:32
我想匹配 HTML 中的所有元素,除了某些元素中的那些元素。CSS3 似乎不支持這樣的選擇器:body *:not(.childclass *){   transform:none; }有什么簡(jiǎn)單的解決方法嗎?
查看完整描述

2 回答

?
慕村9548890

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

body :not(.childclass) * {
  transform:none;
}

您試圖在偽變量上選擇通配符 (*),這是不正確的。我將解釋下面的代碼:

body :not(.childclass) *

選擇 body 標(biāo)記內(nèi)沒(méi)有子類(lèi)的任何項(xiàng)目?jī)?nèi)的所有項(xiàng)目。

不需要在 :not false 之前添加通配符,但如果需要,您可以添加它,它會(huì)解釋相同

body :not(.childclass) *

body *:not(.childclass) *

由于 body 和 :not 之間有一個(gè)空格,它將解釋為 body 標(biāo)記內(nèi)的所有 :not 匹配元素。

事實(shí)上,您不需要選擇器上的 body 標(biāo)記:

:not(.childclass) *

將匹配標(biāo)簽內(nèi)沒(méi)有子類(lèi)的所有元素。

但這里有一個(gè)解決方法。如果匹配元素內(nèi)有子類(lèi),則當(dāng)您也使用通配符選擇它時(shí),也會(huì)選擇該子類(lèi),因?yàn)榉亲宇?lèi)元素內(nèi)的元素如果子類(lèi)元素內(nèi)有非子類(lèi)元素,則該元素是真正的匹配。

看:

https://jsfiddle.net/5nw6k3jL/

您需要為其指定級(jí)別,例如,對(duì)于兩級(jí)匹配元素:

:not(.childclass) :not(.childclass) * {  }

這將匹配所有不在子類(lèi)內(nèi)部但在非子類(lèi)元素內(nèi)部的元素。

您還可以連續(xù)設(shè)置多個(gè)級(jí)別:

  :not(.childclass), :not(.childclass) :not(.childclass) * {  }

這對(duì)兩者都有效,因?yàn)樽钚碌木哂懈叩膬?yōu)先級(jí)。

如果您不知道布局內(nèi)的標(biāo)簽級(jí)別,您可以在行中或周?chē)O(shè)置一堆選擇器 JavaScript。


查看完整回答
反對(duì) 回復(fù) 2023-09-18
?
茅侃侃

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

vanilla JS 的解決方法之一是使用element.matches()方法。


var  els = document.querySelectorAll('*');

els.forEach((elem) => {

    if(!elem.matches(".childclass *")){

        elem.style.transform = 'none';

    }


});


查看完整回答
反對(duì) 回復(fù) 2023-09-18
  • 2 回答
  • 0 關(guān)注
  • 111 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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