Given item and array , I would like to know if item exists in array .
item - jQuery object, for example. $(".c") . You can assume that item.length == 1 .
array is an array of jQuery objects, for example. [$(".a"), $(".b")] . Each element in this array can represent 0, 1 or more objects.
Here's how I decided to implement this: ( live demo here )
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; }
Can you find a more elegant implementation?
Example:
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
source share