我尝试选择.preview
父级内的所有子.dropzone
元素。
$('.dropzone').add($('.preview')).length
返回3但有2个对象。我猜它也在计算.dropzone
容器。
如何只选择两个.preview
项?
答案 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对象中的当前元素,就像您怀疑的那样。