Reputation: 22752
I have a jQuery array of <span>
s and I'd like to get just one of them as a jQuery object so that I can string additional methods on it. Something like $mySpans[2]
(which returns a string), or $mySpans.get(2)
, (which returns the DOM element directly).
I know that this will work:
$($mySpans[2]).someJQueryMethod( ... );
...but it seems a little redundant. What is the right way to do this?
Upvotes: 8
Views: 2315
Reputation: 82297
You are going to want to use eq
. Note that it will return the jQuery object wrapped element at that index, so if you only have one match you should use 0 (which follows that 2 will return the third of the set).
var $thirdMatch = $mySpans.eq(2);//== jQuery object with third match
var htmlElement = $thirdMatch[0];//== actual dom element
var matchedHtml = $thirdMatch.html();// call some jQuery API method
It is common practice when storing jQuery objects to use a $variableName
for readability purposes.
Upvotes: 5