是否有可能在不离开链的情况下将jQuery集中的元素子元素添加到集合中?
即,与离开它看起来像这样:
var set = $('.some-elements');
set.add('*', set);
// or immediate ones only
set.add(set.children());
我正在寻找一种方法来执行其中任何一项而不创建临时set
变量:
$('.some-elements').jqMagic("*");
(当然可以为此编写一个“jqMagic”插件。我只想确定,jQuery核心中没有这个功能。)
答案 0 :(得分:6)
我相信AndSelf会让你做你想要的。
更新示例:
给出以下html:
<div id="1" class="testdiv">
<a href="#">test a</a>
<a href="#">test b</a>
</div>
<div id="2" class="testdiv">
<a href="#">test c</a>
<a href="#">test d</a>
</div>
此代码仅为子项(本例中为锚标记)提供红色边框:
<script language="javascript" type="text/javascript">
$('.testdiv').children().css('border','solid 1px red');
</script>
虽然这段代码(使用andSelf())包含元素列表中的父div,因此选择父div和子divs - 从而根据您的请求给出合并集:
<script language="javascript" type="text/javascript">
$('.testdiv').children().andSelf().css('border','solid 1px red');
</script>