检查空属性jquery

Check for empty attribute jquery

本文关键字:jquery 属性 检查      更新时间:2023-09-26

我想检查一个元素的空属性,但似乎不能让事情工作。

下面是我的html代码:

    <div class="item">
        <div class="itemBtn" style="visibility:hidden;">
        </div>
        <div class="itemText" itemtype="loader">
        </div>
    </div>  
    <div class="item">
        <div class="itemBtn">
        </div>
        <div class="itemText" itemtype="">
        </div>
    </div>

这是一个jquery悬停函数,基本上只是打开按钮。我试图在它的基础上说'如果没有itemtype,就不要打开它'

    inner.find(".item").hover(function () {
        if (inner.find(".item-text[itemtype='']")) {
            $(this).children(".itemBtn").css("visibility", "hidden");
        } else {
            $(this).children(".itemBtn").css("visibility", "visible");
        }
     }, function () {
        $(this).children(".itemBtn").css("visibility", "hidden");
     });

更新:我最终通过以下操作解决了这个问题:

    inner.find(".item").hover(function () {
         if ($(this).find("div[itemtype='']").length) {
           $(this).children(".itemBtn").css("visibility", "hidden");
         } else {
           $(this).children(".itemBtn").css("visibility", "visible");
         }
         }, function () {
           $(this).children(".itemBtn").css("visibility", "hidden");
         });

这只是一个简单的例子

var attr = $(this).attr('title');
if (typeof attr !== typeof undefined && attr !== false) {
    //do some thing
}

像这样使用.attr和条件:

var attr = $(this).attr('title');
if (!attr) {
    // Do something
}

或者您可以通过检查条件中的属性来使它更简洁,像这样:

if (!$(this).attr('title')) {
    // Do something
}
if (! $('.item-text').attr('itemtype') ) {
    alert("Nothing in itemtype");
} else {
    alert("Not empty");
}

非常简单,只需使用attr()检查属性是否存在,如下所示:

if (!$(this).attr('title')) {
    alert('Exists!');
}