javascript - 是否有现有或即将推出的 CSS3 选择器来匹配属性名称的子字符串?

标签 javascript css dom css-selectors

您可以执行 [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;
});

http://jsfiddle.net/QACsw/

关于javascript - 是否有现有或即将推出的 CSS3 选择器来匹配属性名称的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16725138/

相关文章:

Javascript 数组索引是一个 var

javascript - HTML5。如何在绘制的 Canvas 组件中添加鼠标事件

java - 如何获取以下 sibling 的编号和姓名

android - 无用的父布局

html - 如何在两列中显示无序列表?

javascript:在dom中查找字符串并强调它

javascript - 是否有更简单的方法来引用事件的源元素?

javascript - 从另一个单元格内动态创建的元素获取第一个单元格的内容

javascript - 如何使用 javascript/jquery 实时设置用户输入样式

javascript - 我在页面底部有 JavaScript 代码,但图像仍然加载?