javascript选择所有数据属性

javascript选择所有数据属性,javascript,css,html,Javascript,Css,Html,如何选择所有数据属性并返回数组 <ul data-cars="ford"> <li data-model="mustang"></li> <li data-color="blue"></li> <li data-doors="5"></li> </ul> 数组应该返回模型、颜色和门。您可以使用getAttribute方法从任何dom元素获取属性 下面的代码将为您提供所需的数组 Ar

如何选择所有数据属性并返回数组

<ul data-cars="ford">
 <li data-model="mustang"></li>
 <li data-color="blue"></li>
 <li data-doors="5"></li>
</ul>

数组应该返回模型、颜色和门。

您可以使用getAttribute方法从任何dom元素获取属性

下面的代码将为您提供所需的数组

Array.from(document.querySelectorAll('li')).map((el) => el.getAttribute('data-model') || el.getAttribute('data-color') || el.getAttribute('data-doors'))

元素上的
data-[name]
属性可以使用
element.dataset通过DOM直接访问

var allData=[];
//var matches=document.queryselectoral(“li,ul”);<将返回ul和il数据属性
var matches=document.querySelectorAll(“li”);
对于(var i=0;i

您可以使用
元素.attributes
获取节点的所有属性,然后根据您的条件对其进行筛选。a)堆栈溢出不是“代码我的解决方案”站点。B) 如果你想让人们做这样的事情,那么你需要确切地说明你想要什么。不清楚您是想要所有的数据属性,还是只想要
  • 元素上的属性,或者您是否想要有一堆这些属性,并希望它作为
    数据车的数组,或者作为带有
    数据车的键的对象(虽然这看起来会有冲突,因为
    数据车
    实际上是“make”,这不是唯一的),或者如果页面上只有一个这样的结构,等等。此外,还不清楚人们应该获得“所有数据属性并返回一个数组”,还是仅仅“返回模型、颜色和门”。换句话说,是针对所有数据属性的通用解决方案,或者仅针对示例中的特定属性。如果要通过使用
    Array.from()
    ,来限制兼容性,为什么不使用呢?无可否认,这两种较新的方法往往速度较慢。