- text
http://jsfiddle.net/wZ8MC/2/
jQuery(document).ready(functi
Check the length of your jQuery "collection":
if (jQuery('#bad-drifting li:has(em)').length > 0) { // There is at least one element
otherwise it will always be true, because what jQuery returns is always truthy.
That's because has
returns a jQuery object and an object is a truthy value in JavaScript, you should use length
property:
if (jQuery('#bad-drifting').has('em').length) {
You need to check for length
because jQuery('#bad-drifting li:has(em)')
returns a jQuery object which will be always truthy.
if (jQuery('#bad-drifting li:has(em)').length) { // .has('em')
if (jQuery('#bad-drifting').has('em')[0]) { // do Stuff
I ended up doing like this:
if (jQuery('#bad-drifting em').length > 0) {
console.log('we have some errors');
}