您可以执行 [foo^="bar"]
来匹配具有 foo
属性且值以 bar
开头的节点。
有没有办法匹配具有以特定字符串开头的属性 name 的节点?这个用例是用 data-*
属性匹配所有节点。
编辑:我尝试这样做的原因是为了避免遍历所有节点以查找这些属性(出于性能原因)。我将使用 querySelectorAll
及其针对旧版浏览器的 Sizzle polyfill。
最佳答案
一种方法是使用 .filter()
方法:
$('element').filter(function() {
return $.grep(this.attributes, function(value) {
return value.nodeName.indexOf('data') === 0;
}).length;
});
关于javascript - 是否有现有或即将推出的 CSS3 选择器来匹配属性名称的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16725138/