给定一个
以下是我想实现的方法:(实时演示在此处)
item
和一个array
,我想知道item
是否存在于array
中。
item
是jQuery对象,例如$(".c")
。您可以假设item.length == 1
。
array
是一组jQuery对象,例如[$(".a"), $(".b")]
。该数组中的每个项目可能表示0、1或多个对象。以下是我想实现的方法:(实时演示在此处)
function inArray(item, arr) {
for (var i = 0; i < arr.length; i++) {
var items = $.makeArray(arr[i]);
for (var k = 0; k < items.length; k++) {
if (items[k] == item[0]) {
return true;
}
}
}
return false;
}
你能找到一种更优雅的实现方法吗?
示例:
HTML:
<div class="a">Hello</div>
<div class="a">Stack</div>
<div class="a">Overflow</div>
<div class="b">Have</div>
<div class="b">a</div>
<div class="b">nice</div>
<div class="b">day!</div>
<div class="c">Bye bye</div>
JS:
console.log(inArray($(".a").eq(2), [$(".a"), $(".b")])); // true
console.log(inArray($(".b").eq(3), [$(".a"), $(".b")])); // true
console.log(inArray($(".c"), [$(".a"), $(".b")])); // false
console.log(inArray($(".a").eq(2), [$(".b")])); // false
console.log(inArray($(".a").eq(2), [])); // false
console.log(inArray($(".c"), [$("div")])); // true
.index()
方法? - Felix Kling$(".a, .b")
。听起来很合理! - Misha Moroshkoadd()
来构建 jQuery 对象。 - Felix Kling