使用jQuery的一个元素的布尔值

时间:2015-07-02 07:33:38

标签: javascript 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>

但是这段代码不起作用!

并提醒

  

主要元素&#34; OK Class&#34;不可用

那么你们会建议我什么?

5 个答案:

答案 0 :(得分:3)

使用hasClass()

  

确定是否为任何匹配的元素分配了给定的类。

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

<强> CODE

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 :(得分:3)

not()返回一个jQuery对象。尝试将length添加到您的情况中,然后使用find()代替

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

答案 2 :(得分:1)

您可以创建元素选择器以及.length以检查元素是否存在:

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

答案 3 :(得分:0)

为什么要使用body?你只需使用:$("main.ok").length

alert($("main.ok").length 
? 'Main element with "OK Class" available'
: 'Main element with "OK Class" not available');

答案 4 :(得分: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 ');
    }

});