jQuery:仅在没有类名时选择元素

时间:2012-01-28 01:49:12

标签: jquery jquery-selectors

如果元素没有任何类,我怎样才能使用jQuery来选择元素?

我正在编写一个页面,允许html作者通过向元素添加一个类来覆盖默认的jQuery操作。它应该是任何类。

所以标记可能是:

<ul>
  <li class="override"></li>
  <li></li>
</ul>

我希望jQuery只选择第二个列表元素,因为它没有类。

我看过.hasClass(),但它似乎需要一个特定的类名。

谢谢!

4 个答案:

答案 0 :(得分:20)

:not() Selector – jQuery API

$('li:not([class])')

答案 1 :(得分:8)

这应该这样做:

$('li:not([class]),li[class=""]')

演示:http://jsfiddle.net/aMC5X/

第一部分li:not([class])使用"not selector""has attribute"来查找不具有li属性的class元素所有

第二部分li[class=""]查找将属性设置为空字符串的任何li个元素。

答案 2 :(得分:2)

这应该做的事情:$('li').not('li[class]')

答案 3 :(得分:1)

您可以使用:

if (!jQuery('li').hasClass('myClass') {
    do something...
}