首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery检查元素是否包含任何属性

jQuery检查元素是否包含任何属性
EN

Stack Overflow用户
提问于 2010-02-11 04:21:59
回答 7查看 15.6K关注 0票数 6

我可以使用以下命令检查元素是否具有特定属性:

代码语言:javascript
运行
复制
if ($('#A').attr('myattr') !== undefined) {
    // attribute exists
} else {
    // attribute does not exist
}

如何检查一个元素是否有任何属性?

谢谢

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-02-11 05:00:27

下面是一个函数,用于确定匹配选择器的任何元素是否至少有一个属性:

代码语言:javascript
运行
复制
function hasOneOrMoreAttributes(selector) {
    var hasAttribute = false;
    $(selector).each(function(index, element) {
        if (element.attributes.length > 0) {
            hasAttribute = true;
            return false; // breaks out of the each once we find an attribute
        }
    });
    return hasAttribute;
}

用法:

代码语言:javascript
运行
复制
if (hasOneOrMoreAttributes('.someClass')) {
    // Do something
}

如果你想对至少有一个属性的选定元素进行操作,那就更简单了--你可以创建一个自定义过滤器:

代码语言:javascript
运行
复制
// Works on the latest versions of Firefox, IE, Safari, and Chrome
// But not IE 6 (for reasons I don't understand)
jQuery.expr[':'].hasAttributes = function(elem) {
    return elem.attributes.length;
};

它可以像这样使用:

代码语言:javascript
运行
复制
$(document).ready(function(){
    $('li:hasAttributes').addClass('superImportant');
}
票数 6
EN

Stack Overflow用户

发布于 2010-02-11 04:24:26

如果您想查看元素是否具有特定属性,只需执行以下操作:

代码语言:javascript
运行
复制
if ($('#something').is('[attribute]')) {
  // ...
}
票数 9
EN

Stack Overflow用户

发布于 2012-08-07 11:33:19

代码语言:javascript
运行
复制
$("selector").get(0).hasAttributes("attributes");
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2240061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档