我需要通過jQuery選擇器查找頁面中沒有類的所有跨度。選擇沒有任何類的元素
實施例:
<span class='Cool'>do not found me</span>
<span>me, me, take me please!!!</span>
我需要通過jQuery選擇器查找頁面中沒有類的所有跨度。選擇沒有任何類的元素
實施例:
<span class='Cool'>do not found me</span>
<span>me, me, take me please!!!</span>
使用:not()
和attribute not selector [att!=val]
過濾掉具有非空class
屬性元素:然而
$('span:not([class!=""])')
注意[att!=val]
是非易失標準的jQuery選擇器,這意味着選擇器不能用於CSS或with document.querySelectorAll()
。如果你像我,你是個堅持己見繼該標準,因此希望在可能避開非標準jQuery選擇,下面是一個直接等同:
$('span:not([class]), span[class=""]')
這符合
span
元素有沒有class
屬性,span
元素做有class
屬性,但只有當屬性值爲空。在大多數情況下,但是,你應該能夠逃脫僅僅是第一部分:
$('span:not([class])')
你通常只能找到這就是負責應用程序生成的標記空class
屬性輸出它,或者不注意的開發者。
看到這個答案與CSS做只是Can I write a CSS selector selecting elements NOT having a certain class?
:not([class])
事實上,這將選擇什麼女巫沒有應用到它的.class。
我聚集了jsfiddle演示
HTML
<h2 class="fake-class">fake-class will be green</h2>
<h2 class="">empty class SHOULD be white</h2>
<h2>no class should be red</h2>
<h2 class="fake-clas2s">fake-class2 SHOULD be white</h2>
<h2 class="">empty class2 SHOULD be white</h2>
<h2>no class2 SHOULD be red</h2>
CSS
h2 {color:#fff}
:not([class]) {color:red;background-color:blue}
.fake-class {color:green}
Bolclock嗨!不適合我!但相反,這工作得很好:跨度:不(([班級]) 謝謝你的建議!我做到了;) – PadovaBoy 2011-02-14 11:35:11
@PadovaBoy:我的代碼如何不適合你? `[!=「」]`自從jQuery的第一個版本開始出現。 – BoltClock 2011-02-14 11:35:53