我尝试选择父.preview
元素中的所有子元素。.dropzone
$('.dropzone').add($('.preview')).length
这将返回 3 但有 2 个对象。我想这也是.dropzone
容器的数量。
我怎样才能只选择这两个.preview
项目?
我尝试选择父.preview
元素中的所有子元素。.dropzone
$('.dropzone').add($('.preview')).length
这将返回 3 但有 2 个对象。我想这也是.dropzone
容器的数量。
我怎样才能只选择这两个.preview
项目?
尝试
$('.dropzone').find('.preview').length
请尝试此演示:http: //jsfiddle.net/KjJZx/1/ 或 http://jsfiddle.net/wbkVS/
接口: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
用于选择它的常用选择器语法只是:
$('.dropzone .preview').length
或者
$('.dropzone > .preview).length
(如果它是 的直接子代.dropzone
)
http://api.jquery.com/category/selectors/
@Igor 的回答也很好用。
你是对的,它也在计算容器 div。使用 jQuery 函数中的 CSS 后代选择器(以及元素之间的空白区域)来选择元素的后代(后代是元素内的所有元素)。
$('.dropzone .preview').length === 2
或者,如果您只想要孩子(直系后代),请使用孩子选择器 (>)。
$('.dropzone > .preview').length === 2
正如您所怀疑的,add 函数添加到 jQuery 对象中的当前元素。