检查空属性jquery
Check for empty attribute jquery
我想检查一个元素的空属性,但似乎不能让事情工作。
下面是我的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!');
}
相关文章:
- 使用jQuery属性滚动到数据
- 删除具有jQuery属性的li
- Jquery 属性代码到 Javascript 属性代码
- 使用 *= 的 jQuery 属性选择器
- 奇怪的jquery属性添加到IE8中的复选框上
- HTML 使用 JavaScript 添加具有 JQuery 属性的元素
- 如何将 fadeOut jQuery 属性与 Javascript 文本片段一起使用
- 不区分大小写的 jQuery 属性选择器
- IE中的jQuery属性选择器
- JQuery属性总是返回相同的值
- 任务不可能:jQuery属性选择器
- 如何在jquery插件EasyDate中使用jquery属性
- onclick的jquery属性监听器
- 动态生成的HTML代码没有jQuery属性
- 如何将多个变量从函数传递到jquery属性
- 当Ajax.BeginForm时在Internet Explorer 8上添加的jQuery属性
- JQuery 属性通配符 包含分隔的空格
- jQuery属性自动切换
- 当jquery属性选中复选框时,Angular ng-model不更新
- 理解使用#的jQuery属性选择器