提问者:小点点

从元素列表中获取输入数据


我想要一份耐克某款鞋的尺码清单。

所有大小都在

  • 中列出,包括已启用和已禁用的大小。 当我在控制台调用document.getElementsByClassName('tamanho__item_pdpjs-tamanho__item_pdp')时,它返回一个HTMLCollection,其中包含所有列出的大小及其内部代码。

    每个大小返回此

    有一些方法可以让我只获得data-tamanho,它是大小数字,如果可能的话,还可以获得一个包含所有可用大小的列表。

    如果它有助于网站链接,我正在尝试的代码是:耐克Daybreak


  • 共2个答案

    匿名用户

    由于获得了元素列表,因此可以解析它,返回一个只包含大小的新数组:

    let sizes = document.getElementsByClassName('tamanho__item_pdp js-tamanho__item_pdp');
    

    要获取大小值,只需解析sizes数组:

    let values = Array.from(sizes).map((input) => input.getAttribute('data-tamanho'));
    // ["36", "37", "38", "39", "40", "41", "42", "43"]
    

    希望这能帮上忙。

    匿名用户

    您需要在每个元素上使用.dataset来获取data-属性:

    document.getElementsByClassName('tamanho__item_pdp js-tamanho__item_pdp')[0].dataset.tamanho
    

    您可以遍历每个结果并访问.dataset.tamanho属性以获取每个大小