合并jQuery对象

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (151)

是否有可能将多个jQueryDOM对象合并到一个数组中,并在所有这些数组上调用jQuery方法?

例子:

<button>one</button>
<h3>two</h3>

<script>

var btn = $('button');
var h3 = $('h3');

$([btn,h3]).hide();

</script>

这不管用。我知道我可以在这里使用‘按钮,h3’选择器,但在某些情况下,我已经有了几个jQueryDOM元素,我需要合并它们,以便在所有这些元素上调用jQuery原型。

类似于:

$.merge([btn,h3]).hide();

会有用的。有什么想法吗?

最新情况:

解决了。你可以这样做:

$.fn.add.call(btn,h3);
提问于
用户回答回答于
用户回答回答于

.add()做你要做的事。

h3.add(btn).hide();

如果你想让它对自己更方便一点,在你的问题中使用“合并”函数,可以很容易地添加以下内容:

$.merge = function(objs) {
    var ret = objs.shift();
    while (objs.length) {
        ret.add(objs.shift());
    }
    return ret;
};

$.merge([h3, btn]).hide()

扫码关注云+社区

领取腾讯云代金券