属性名称模式的 JavaScript/CSS 选择器

标签 javascript css css-selectors

假设我有以下标记

<div data-common-notcommon="anyValue">
    <!-- Whatever.. -->
</div>

<div data-common-not-commonerthing="anyValue">
    <!-- Whatever.. -->
</div>

我正在尝试编写一个 JS 选择器(或 CSS 选择器,不关心差异..)来根据常见的部分属性名称查找属性。

即我想查找以 data-common 开头的所有元素。

我在 Google 上找不到任何有关属性名称选择器的信息,而是找到了我并不真正想做的属性值选择器。

<script>
  document.querySelectorAll('[data-common]'); // []
  document.querySelectorAll('[data-common*]'); // []
  // etc..
</script>

最佳答案

当前没有定义用于部分匹配属性名称的选择器。您所要求的内容不存在。

对于 JavaScript,您可以使用自定义代码过滤元素集合(这就是 jQuery 所做的),但它不适用于 document.querySelectorAll,也不能为 CSS 定义自定义选择器,除非您愿意在 w3c 邮件列表上建议它并处理涉及更改 CSS 语言的复杂工作流程。

关于属性名称模式的 JavaScript/CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163043/

相关文章:

javascript - Pug/Jade 未编译随机数属性的值

javascript - jQuery 自动完成 - 没有任何样式?

javascript - 切换 body 背景

javascript - D3 中的并发转换(循环遵循填充路径)

javascript - 当合计超过两个时,Javascript 中的舍入数字失败?

html - 宽度窄时元素被挤压

css - 样式嵌套 Web 组件,其中子组件可以与父组件类型相同,但需要不同的样式

html - 使用伪元素后的 CSS 主动选择器

javascript - 使用 JavaScript/jQuery 返回基于高亮文本的 CSS 选择器列表

CSS 基于父级的多选