Skip to content

Instantly share code, notes, and snippets.

@elijahmanor
Created January 24, 2012 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elijahmanor/1670312 to your computer and use it in GitHub Desktop.
Save elijahmanor/1670312 to your computer and use it in GitHub Desktop.
Find the jQuery Bug #2: Alternative
<ul id="numberList">
<li data-value="1">One</li>
<li data-value="2">Two</li>
<li data-value="3">Three</li>
<li data-value="4">Four</li>
<li data-value="5">Five</li>
<li data-value="6">Six</li>
<li data-value="7">Seven</li>
<li data-value="8">Eight</li>
<li data-value="9">Nine</li>
<li data-value="10">Ten</li>
</ul>
<!DOCTYPE html>
<html>
<head>
<script class="jsbin" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
</style>
</head>
<body>
<ul id="numberList">
<li data-value="1">One</li>
<li data-value="2">Two</li>
<li data-value="3">Three</li>
<li data-value="4">Four</li>
<li data-value="5">Five</li>
<li data-value="6">Six</li>
<li data-value="7">Seven</li>
<li data-value="8">Eight</li>
<li data-value="9">Nine</li>
<li data-value="10">Ten</li>
</ul>
</body>
</html>
function listHasNumber( $list, numberToFind ) {
return !!$.grep( $list.find( "li" ).get(), function( element ) {
return $( element ).data( "value" ) === numberToFind;
}).length;
}
var $numberList = $( "#numberList" );
console.log( listHasNumber( $numberList, 0 ) ); // false
console.log( listHasNumber( $numberList, 1 ) ); // true
console.log( listHasNumber( $numberList, 5 ) ); // true
console.log( listHasNumber( $numberList, 10 ) ); // true
console.log( listHasNumber( $numberList, 15 ) ); // false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment