2015-07-02 2 views
-2

У меня есть этот кодBoolean одного элемента с JQuery

<main class="ok">My text</main> 

<script> 

$(document).ready(function() { 

    if ($('body').not('main.ok')) { 
    // or if (Boolean ($('main.ok')) == false) { 

     // Main element not available 
     alert (' Main element with "OK Class" not available '); 

    } else { 

     alert (' Main element with "OK Class" available '); 

    } 

}); 

</script> 

но этот код не работает!

и оповещения

Главный элемент с "OK класса" не доступен

Так что бы у ребят мне предложить?

ответ

3

Использование hasClass()

Определить, является ли какой-либо из соответствующих элементов присваиваются данному классу.

$('body main').length && $('body main').hasClass('ok') 

КОД

if ($('body main').length && $('body main').hasClass('ok')) { 
    alert(' Main element with "OK Class" available '); 
} else { 
    alert(' Main element with "OK Class" not available '); 
} 
1

Вы можете создать селектор элемента вместе с .length, чтобы проверить, если элемент существует или нет:

if ($('body main.ok').length) { 
    alert (' Main element with "OK Class" not available '); 
} else { 
    alert (' Main element with "OK Class" available '); 
} 
3

not() возвращает объект JQuery. Попробуйте добавить length в вашем состоянии и использовать find() вместо

if (!$('body').find('main.ok').length) 
0

Почему body? Вы просто использовать: $("main.ok").length:

alert($("main.ok").length 
? 'Main element with "OK Class" available' 
: 'Main element with "OK Class" not available'); 
0
$(document).ready(function() { 
    if ($('body main').hasClass('ok')) { 
     alert (' Main element with "OK Class" not available '); 
    } else { 
     alert (' Main element with "OK Class" available '); 
    } 

}); 
Смежные вопросы