Using a jQuery selector, is it possible to select all elements that are not a descendant of the elements from another selector.
For example, I would like to select all the a tags that are not a descendant of a th tag. The only way I can see to do it right now is as follows:
$('a').filter(function () {
return $(this).closest('th').size() == 0
})
Assuming you are looking for descendants (since having a
aelement as a sibling tothelements is not valid HTML) you can use the:notpseudo-selector to do this:This should be pretty fast in modern browsers using
document.querySelectorAll, but might be slower than the original for older versions of IE.See a simple demo here: http://jsfiddle.net/JR5sP/