检查空属性jquery

时间:2014-06-24 21:19:08

标签: javascript jquery attributes

我试图检查一个元素是否有空属性,但似乎无法让事情发挥作用。

这是我的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悬停功能,它基本上只是打开按钮。我试图通过说“如果没有项目类型,不打开它&#39;

来建立它
    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");
         });

4 个答案:

答案 0 :(得分:2)

这只是一个简单的例子

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

答案 1 :(得分:1)

像这样使用.attr条件:

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

或者您可以通过检查条件中的属性来使其更简洁:

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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