7

Lets say I have this html :

<ul>
<li class="cls">one</li>
<li class="cls active">tow</li>
<li class="cls">here</li>
<li class="cls">after</li>
</ul>

I'm selecting all .cls by this jquery selector : $('.cls') and put them in a variable:

var c=$('.cls');

c is an array of object now. I want to select .active item in this array by jQuery methods. I do know i can use $('.cls.active') but this is not what I'm lookin for. I want to use c. Is there any solution ?

note: c.find('.active') not working, because .find() searching in childs.

4 Answers 4

5

use filter() instead of find()

find:

Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element.

filter:

Reduce the set of matched elements to those that match the selector or pass the function's test.

c.filter('.active')
Sign up to request clarification or add additional context in comments.

Comments

1

Simply use the filter() method of the jQuery object:

var active = c.filter('.active');

JS Fiddle proof-of-concept.

Reference:

Comments

1

Use .filter()

c.filter('.active');

Comments

0

Use .filter()

c.filter('.active');

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.