代码之家  ›  专栏  ›  技术社区  ›  Uzair Khan

获取所有输入框并获取其属性值

  •  0
  • Uzair Khan  · 技术社区  · 7 年前

    res.querySelectorAll('.node:checked')
    

    这给了我一个检查输入元素的数组,我可以使用for循环遍历这个元素数组并执行

    getAttribute('data-keyvalue') 
    

    在每个上。但是,有没有可能让他们只在一行,在一些东西呢

    querySelectorAll
    
    3 回复  |  直到 7 年前
        1
  •  3
  •   Hassan Imam Ravi kant    7 年前

    您可以使用 Array#from NodeList 属于 querySelectorAll 进入数组,然后使用 array#map data-keyvalue 选中复选框的属性。

    var checkboxAttributes = Array.from(document
      .querySelectorAll('.node:checked'))
      .map(input => input.getAttribute('data-keyvalue'));
    console.log(checkboxAttributes);
    <input class="node" data-keyvalue="7" type="checkbox" checked>
    <input class="node" data-keyvalue="8" type="checkbox">
    <input class="node" data-keyvalue="9" type="checkbox" checked>
    <input class="node" data-keyvalue="10" type="checkbox" checked>
    <input class="node" data-keyvalue="11" type="checkbox">
        2
  •  1
  •   kapantzak    7 年前

    检查 console ,它将记录一组已检查的数据属性值。

    var chk = Array.prototype.slice.call(document.querySelectorAll('.node:checked')).map(function(node) {
      return node.getAttribute('data-keyvalue');
    })
    console.log(chk);
    <input type="checkbox" class="node" checked data-keyvalue="1" />
    <input type="checkbox" class="node" checked data-keyvalue="2" />
    <input type="checkbox" class="node" checked data-keyvalue="3" />
    <input type="checkbox" class="node" data-keyvalue="4" />
    <input type="checkbox" class="node" data-keyvalue="5" />
    <input type="checkbox" class="node" checked data-keyvalue="6" />
    <input type="checkbox" class="node" checked data-keyvalue="7" />
        3
  •  0
  •   Clayton Bez    7 年前

    我遇到了同样的问题,最终我的搜索结果都是,你必须一次处理一个,然后自己构建一个数组或字符串。尝试创建一个函数来为您实现这一点,每当您需要获取所有这些数据时,该函数都会以您需要的格式为您提供数据。