如何通过属性名称的一部分选择元素

时间:2019-04-22 21:24:53

标签: html5 dom selector

HTML

<div data-a-b-c="...">A</div>
<div data-a-b-d="...">B</div>
<div data-a-c-b="...">C</div>

我想通过以下方式选择节点AB

document.querySelectorAll("[a-b*]")

曾经在Chrome中运行,但随着时间的流逝而损坏。我只需要支持现代浏览器。

1 个答案:

答案 0 :(得分:1)

Array.prototype.slice.call(document.querySelectorAll("*"))
  .filter(element => 
    Array.prototype.slice.call(
      element.attributes
    )
    .find(att => 
      att.localName.match(/data-/)
    )
  )