我有一个2个div标签,它们的类名相似,唯一的区别是第二个div有一个扩展的类名。如何使用jquery在2个不同的变量中单独检索2个元素。
<div class='container'>
<div class='submit'></div>
<div class='submit newClass'></div>
</div>
从上面的示例中我需要具有班级'submit'
而不是'submit newClass'
的项目。
如果我做了$('div.container .submit')
,这给了我两个div标签。我怎么能实现这个目标。我不想使用基于索引的选择或在jquery中使用'first'
方法。
答案 0 :(得分:3)
在您的示例中,第二个div
实际上没有&#34;扩展类名称&#34;如你所说,它有两个独立的类,submit
和newClass
。如果是这种情况,您可以使用:not
伪选择器从您的选择中排除与.newClass
匹配的元素:
var elements = $(".submit:not(.newClass)");
或者,您可以使用not
方法:
var elements = $(".submit").not(".newClass");
如果另一方面你的例子是错误的,并且你实际上有一个更长的班级名称,以&#34;提交&#34;开头,你可以使用&#34; contains word&#34;选择器:
var elements = $("[class~=submit]");
答案 1 :(得分:0)
将:not
与您不想要的课程一起使用:
$('div.container .submit:not(.newClass)')