【问题标题】:Access HTML dataset访问 HTML 数据集
【发布时间】:2016-04-13 20:55:55
【问题描述】:

我正在尝试访问我的 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)

谁能告诉我如何以不同的方式访问该数据属性?谢谢。

【问题讨论】:

    标签: javascript html attributes html-dataset


    【解决方案1】:

    如果您更好地查看控制台,您会发现它记录了以下内容:

    <td>
        <a href="#" data-mmyyyy="3/2015">22</a>
    </td>
    

    因此,根据控制台记录的数据,您尝试访问的dataset 不在您的&lt;td&gt; 元素上,而是在其&lt;a&gt; 子元素上。

    要访问它,您可以这样做:

    tds[i].children[0].dataset.mmyyyy
    

    或者,更好的是querySelector

    tds[i].querySelector("a").dataset.mmyyy
    

    【讨论】:

      【解决方案2】:

      我的错!数据集位于标签内的标签上。所以正确的访问器将是

      tds[i].children[0].dataset.mmyyyy
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-01
        • 2011-12-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多