使用具有类似类名的jquery获取元素

时间:2011-09-03 11:22:49

标签: jquery css-selectors elements

我有一个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'方法。

2 个答案:

答案 0 :(得分:3)

在您的示例中,第二个div实际上没有&#34;扩展类名称&#34;如你所说,它有两个独立的类,submitnewClass。如果是这种情况,您可以使用: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)')