I am using Jquery to find a class by variable. So,
var className = "whatever";
$("#container ul li") if contains element with className, do this
How do I write the above code?
Is it
$("#container ul li").find("."+ className).each(function(){
console.log("I found one");
});
Obviously the code doesn't work
Is the className
on the <li>
element? If so, you could do this:
$('#container ul li.' + className)...
You're just concatenating the className into the selector string (with the class selector).
Or this will give you the same result.
$('#container ul li').filter('.' + className)...
Which is the similar to your .find()
solution, but uses .filter()
to limit the <li>
elements found to those with the className
.
If the element with the className
is a descendant of the <li>
element, then using .find()
should work, or you could do:
$('#container ul li .' + className)...
...which almost looks the same as the one above, but introduces a space after li
, which is a descendant selector.