3

我有以下html

<div class="one">One<div>
<div class="two">two<div>
<div >three<div>
<div >four<div>
<div class="three">five<div>

如何找到没有类属性的 div 元素?即三和四?

4

6 回答 6

7

您可以使用:not选择器

$('div:not([class])');

这是API

还有一个简单的小提琴

于 2013-05-09T10:35:13.000 回答
4

使用:not选择器过滤

$('div:not([class])');
于 2013-05-09T10:34:51.927 回答
3

:not()选择器与属性存在选择器结合起来[class]

$("div:not([class])")

js小提琴

于 2013-05-09T10:35:40.097 回答
1

另一种选择是将.not()Has Attribute Selector一起使用

$('div').not('[class]')
于 2013-05-09T10:52:23.083 回答
0

假设您不想选择所有没有类的分隔符,nth-child如果您确切知道它们在容器中的位置,则可以使用它们来选择特定的分隔符。这将选择您的无类分隔符:

$('div:nth-child(3)') // Selects the third divider
$('div:nth-child(4)') // Selects the fourth divider
$('div:nth-child(3), div:nth-child(4)') // Selects both

JSFiddle 示例

或者,您可以选择使用.prev()and .next()

$('div.two').next() // Selects the divider after div class="two"
$('div.three').prev() // Selects the divider before div class="three"
于 2013-05-09T10:34:12.860 回答
0

有不同的方法可以做到这一点。您可以使用 .children() 获取列表,然后对其进行索引。或者你可以查找第二个元素并使用 .next() 来获取它的兄弟。

于 2013-05-09T10:35:44.427 回答