我正在尝试访问HTML中的数据集。通常如果是:
<td data-mmyyyy="23"></td>
您可以使用
访问它tdObj.dataset.mmyyyy
但由于某种原因,这对我不起作用。
var mmyyyy = tds[i].dataset.mmyyyy.split('/');
我在调试器上停止了它并从控制台输出以下内容:
tds // (ME)
[(enumerated td nodes)] // (CONSOLE)
tds[i] // (ME)
<td> // (CONSOLE)
<a href="#" data-mmyyyy="3/2015">22</a>
</td>
tds[i].dataset // (ME)
DOMStringMap {} // (CONSOLE)
tds[i].dataset.mmyyyy // (ME)
undefined // (CONSOLE)
有人能告诉我如何以不同的方式来访问该数据属性吗?感谢。
答案 0 :(得分:0)
我的错!数据集位于标记内的标记上。所以正确的访问者将是
tds[i].children[0].dataset.mmyyyy
答案 1 :(得分:0)
如果您在控制台上看起来更好,您会看到它记录下来:
<td>
<a href="#" data-mmyyyy="3/2015">22</a>
</td>
因此,根据控制台记录的数据,您尝试访问的dataset
不在<td>
元素上,而在其<a>
子元素上。< / p>
要访问它,您可以这样做:
tds[i].children[0].dataset.mmyyyy
或者更好,querySelector
:
tds[i].querySelector("a").dataset.mmyyy