1

如果我有这个 HTML:

<input type="button" />
<input type="button" />
<input class="btn" type="button" />
<div class="btn"></div>
<div class="btn"></div>

我在一个 jQuery 对象中有 3 个按钮.. 说var buttons = $(':button');

然后我有另一个对象,它具有不同的 3 组元素,其中一个是相同的:var nextButtons = $('.btn');

是否有一种 jQuery 方法来检查所有元素是否相同?如果任何元素匹配,is()似乎返回 true 。

编辑:

我的意思是以完全相同的方式进行比较is()。我猜,这个函数会调用is()第一组中的每个元素,第二组中的每个元素。

4

3 回答 3

5

没有内置任何东西,但它真的很容易做到:

$.fn.all = function(selector) {
    return this.filter(selector).length == this.length;
}

看到它在行动

于 2012-09-14T11:35:53.703 回答
0

你可以试试.filter()

var buttons= $(".btn").filter(function(i){
                   return $(this).is("input[type='button']");
              });

小提琴

于 2012-09-14T11:37:54.237 回答
0
if (buttons.length === nextButtons.length && buttons.filter(nextButtons).length) {
     console.log("Same");
}
于 2012-09-14T11:38:07.577 回答