0

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

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

这将返回 3 但有 2 个对象。我想这也是.dropzone容器的数量。

我怎样才能只选择这两个.preview项目?

4

4 回答 4

1

尝试

$('.dropzone').find('.preview').length
于 2013-04-14T01:49:18.950 回答
1

请尝试此演示: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

于 2013-04-14T01:51:06.190 回答
0

用于选择它的常用选择器语法只是:

$('.dropzone .preview').length或者

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

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

@Igor 的回答也很好用。

于 2013-04-14T01:53:43.707 回答
0

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

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

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

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

正如您所怀疑的,add 函数添加到 jQuery 对象中的当前元素。

于 2013-04-14T02:03:06.380 回答