是否存在用于匹配属性名称子串的现有或即将出现的CSS3选择器?

jli*_*jli 8 javascript css dom css-selectors css3

您可以[foo^="bar"]匹配具有该属性foo值的节点bar.

有没有办法匹配节点与属性名称以特定字符串开头?其用例是使所有节点与data-*属性匹配.

编辑:我尝试这个的原因是为了避免迭代所有寻找这些属性的节点(出于性能原因).我将使用querySelectorAll它的Sizzle polyfill用于旧版浏览器.

und*_*ned 4

一种方法是使用.filter()方法:

$('element').filter(function() {
    return $.grep(this.attributes, function(value) {
       return value.nodeName.indexOf('data') === 0;
    }).length;
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/QACsw/