我有一个生成id的复选框集合,其中一些有一个额外的属性。是否有可能使用JQuery来检查一个元素是否具有特定的属性? 例如,我能否验证以下元素是否具有属性“myattr”?属性的值可以变化。
<input type="checkbox" id="A" myattr="val_attr">A</input>
例如,我如何才能获得具有此属性的所有复选框的集合而不逐个检查?这可能吗?
我有一个生成id的复选框集合,其中一些有一个额外的属性。是否有可能使用JQuery来检查一个元素是否具有特定的属性? 例如,我能否验证以下元素是否具有属性“myattr”?属性的值可以变化。
<input type="checkbox" id="A" myattr="val_attr">A</input>
例如,我如何才能获得具有此属性的所有复选框的集合而不逐个检查?这可能吗?
当前回答
在这篇文章中,使用.is和属性选择器[],你可以很容易地添加一个函数(或原型):
function hasAttr($sel,attr) {
return $sel.is('['+attr+']');
}
其他回答
我知道这个问题已经问了很长时间了,但我发现答案是这样的:
if ($("#A").is('[myattr]')) {
// attribute exists
} else {
// attribute does not exist
}
(可以在这个网站上找到)
关于is的文档可以在这里找到
简单:
$("input[name*='value']")
更多信息:官方文档
通过使用“typeof”和jQuery,我们得到了一些想法。是“和”。所以我想我应该张贴一个快速的性能比较他们。类型似乎是最好的选择。虽然其他方法也可以工作,但在为此工作调用jq库时,似乎存在明显的性能差异。
这是可行的:
$('#A')[0].hasAttribute('myattr');
你的意思是你可以选择他们吗?如果是,那么是的:
$(":checkbox[myattr]")