是否可以在属性名称中使用通配符查找所有带有 jQuery 的 DOM 元素?
考虑以下 HTML:
<input
id="val1"
type="text"
data-validate-required
data-validate-minlength="3"
data-validate-email />
我想要实现的是找到所有属性名称以 data-validate-
开头的 dom 节点
据我了解通配符描述here关注属性的“值”。
这样做的原因是 - 我想找出哪些元素应该被验证 - 然后找出哪些验证参数(如 -email)起作用。
谢谢
最佳答案
您可以创建自定义伪类,例如将属性名称与正则表达式匹配:http://jsfiddle.net/hN6vx/ .
jQuery.expr.pseudos.attr = $.expr.createPseudo(function(arg) {
var regexp = new RegExp(arg);
return function(elem) {
for(var i = 0; i < elem.attributes.length; i++) {
var attr = elem.attributes[i];
if(regexp.test(attr.name)) {
return true;
}
}
return false;
};
});
用法:
$(":attr('^data-')")
关于javascript - HTML5 数据属性中的通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13222334/