我有一些HTML,我试图获得" data-nChargers"的价值。使用此脚本
var noOfChargers = document.getElementById("chargers-list")
.getAttribute("nChargers");
console.log(noOfChargers);

<div id="chargers-list" data-nChargers="4"></div>
&#13;
但它返回null。我做错了什么?
答案 0 :(得分:5)
该属性为data-nChargers
,可通过dataset
或getAttribute("data-nChargers")
var e = document.getElementById("chargers-list");
console.log(e.getAttribute("data-nChargers"));
console.log(e.dataset.nchargers);
&#13;
<div id="chargers-list" data-nChargers="4"></div>
&#13;
答案 1 :(得分:2)
尝试
getAttribute("data-nChargers");
代替。
这是因为getAttribute方法查找该确切名称。如果您想获取数据属性,请改为使用.dataset.nChargers
。
更多信息: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes
最好的问候。
答案 2 :(得分:0)
您需要将getAttribute("nChargers");
更改为getAttribute("data-nChargers");
var noOfChargers = document.getElementById("chargers-list"). getAttribute("data-nchargers")
console.log(noOfChargers);
&#13;
<div id="chargers-list" data-nChargers="4"></div>
&#13;
答案 3 :(得分:0)
完整的属性名称为data-nChargers
,而不仅仅是nChargers
。
document.getElementById("chargers-list").getAttribute('data-nChargers')
如果您只想使用nChargers
,则可以使用dataset
属性:
document.getElementById("chargers-list").dataset.nChargers
dataset
忽略data-
前缀并将虚线词(即n-chargers
)转换为驼峰式(即nChargers
)。
https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset
答案 4 :(得分:0)
现代方式是使用dataset
。请注意,属性名称是小写的,然后删除连字符并转换为驼峰大小写。
console.log(document.getElementById("chargers-list").dataset.nchargers);
<div id="chargers-list" data-nChargers="4"></div>
答案 5 :(得分:0)
https://github.com/userA/mainrepo
函数要求您使用属性的全名。在这种情况下getAttribute()
。
另一种选择是使用data-nchargers
属性。在这种情况下,它不需要dataset
前缀。
data-