Javascript获取数据类型标记值

Javascript Get data-type tag value

本文关键字:数据类型 获取 Javascript      更新时间:2023-09-26

我希望能够检索data-type,这是一个新的HTML5标签名称(或任何自定义标签名称),使用纯javascript。我需要访问这些数据的上下文来自元素childNodes的循环中。

var children = document.getElementById('foo').childNodes;
for(var i=0; i<children.length; i++) {
    var dataType = children[i].dataType //This does not work.
}

是否有某种方法可以对childNodes进行原型化,以便使用该标记检索的任何元素都将附加一个dataType函数,从而使上面的代码能够实际工作?

我想我必须使用children[i].outerHTML来获取元素的原始HTML,然后使用正则表达式来实际放置元素中的值。

如果您的意思是从data-*属性获取数据

var children = document.getElementById('foo').childNodes;
var childrenLength = children.length;
for(var i=0; i<childrenLength; i++) {
    var dataType = children[i].getAttribute('data-type');
}

如果你查看Mozilla关于这个主题的文档,你会发现该标准定义了一种比.getAttribute更简单的方法:一个可以使用数据集属性读取的DOMStringMap。

简而言之,这意味着你可以做这个

var dataType = children[i].dataset.dataType;

或者,您可以将dataset设置为如下所示的变量,当您从元素中获取多个数据属性时,这很方便

var dataSet = children[i].dataset,
    dataType = dataSet.dataType;