使用jQuery对一个元素进行布尔运算

Boolean of one element with jQuery

本文关键字:元素 一个 布尔运算 jQuery 使用      更新时间:2023-09-26

我有这个代码

<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 Class"的主要元素不可用

你们会给我什么建议?

使用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 ');
}

not()返回一个jQuery对象。尝试将length添加到您的条件中,并使用find()代替

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

您可以与.length一起创建元素选择器,以检查元素是否存在:

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

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

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