【发布时间】:2011-05-10 08:21:23
【问题描述】:
是否有可能在不离开链的情况下将 jQuery 集合中元素的子元素添加到集合中?
即,with 离开它看起来像这样:
var set = $('.some-elements');
set.add('*', set);
// or immediate ones only
set.add(set.children());
我正在寻找一种不创建临时 set 变量的方法来执行这些操作:
$('.some-elements').jqMagic("*");
(当然可以为此编写一个“jqMagic”插件。我只是想确定一下,jQuery 核心中没有这个功能。)
【问题讨论】:
-
你会在某些活动中添加孩子吗?喜欢
click或change或waterver。如果是,请查看delegate -
你可以用
set开始链(我不会为了节省一行代码而创建一个插件)。唯一的另一种方法是再次使用$('.some-elements')... -
更正:这不是唯一的方法 ;) 仅当您朝一个方向思考时,即首先获取“父集”然后添加子集。但它的工作原理是先选择孩子,然后再次添加父母,正如@Nathan 所示......
标签: jquery add composition traversal