在jQuery上按元素内部的类选择项目

时间:2013-04-14 01:46:27

标签: javascript jquery

我尝试选择.preview父级内的所有子.dropzone元素。

$('.dropzone').add($('.preview')).length

返回3但有2个对象。我猜它也在计算.dropzone容器。

如何只选择两个.preview项?

4 个答案:

答案 0 :(得分:1)

尝试

$('.dropzone').find('.preview').length

答案 1 :(得分:1)

请尝试此演示:http://jsfiddle.net/KjJZx/1/ http://jsfiddle.net/wbkVS/

API:http://api.jquery.com/children/ Get the children of each element in the set of matched elements, optionally filtered by a selector

希望它符合需要! :)

<强>代码

$('.dropzone').children('.preview').length

答案 2 :(得分:0)

用于选择此选项的公共选择器语法只是:

$('.dropzone .preview').length

$('.dropzone > .preview).length(如果它是.dropzone的直接孩子)

http://api.jquery.com/category/selectors/

@ Igor的回答也可以。

答案 3 :(得分:0)

你是对的,它也在计算容器div。在jQuery函数中使用CSS后代选择器(以及元素之间的空格)来选择元素的后代(后代是元素内的所有元素)。

$('.dropzone .preview').length === 2

或者,如果您只想要孩子(直系后代),请使用子选择器(&gt;)。

$('.dropzone > .preview').length === 2

add函数会添加到jQuery对象中的当前元素,就像您怀疑的那样。