jQuery.fn.indexOf()
by rwaldron
HTML
<p>A paragraph</p>
<p class="another">
Another paragraph
</p>
<p class="devious">
devious paragraph 1
</p>
<p class="devious">
devious paragraph 2
</p>
JavaScript
function equal( actual, expected, message ) {
console.log(
( actual === expected && "PASS" ) || "FAIL",
message + ", Expected: " + expected + "; Actual: " + actual
);
}
(function( jQuery ) {
jQuery.fn.indexOf = function( selector ) {
var i = 0,
length = this.length;
for ( ; i < length; i++ ) {
if ( jQuery.find.matchesSelector( this[i], selector ) ) {
return i;
}
}
return -1;
};
})( jQuery );
equal(
jQuery("p").length, 4, "Find 3 [p] elements"
);
equal(
jQuery("p").indexOf(".another"), 1, "[p.another] is at index 1"
);
equal(
jQuery("p").indexOf(".devious"), 2, "[p.devious] is at index 2"
);
equal(
jQuery("p").indexOf(".foooo"), -1, "No index for [.foooo] can be found"
);