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

时间:2017-11-21 07:52:30

标签: javascript getattribute

我有一个复选框列表,在检查时我应该得到它们并且应该检索它们的属性值。

res.querySelectorAll('.node:checked')

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

getAttribute('data-keyvalue') 

每个。但是有可能只将它们放在一行,

querySelectorAll

3 个答案:

答案 0 :(得分:3)

您可以使用Array#fromNodeList 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">
&#13;
&#13;
&#13;

答案 1 :(得分:1)

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

&#13;
&#13;
var chk = Array.prototype.slice.call(document.querySelectorAll('.node:checked')).map(function(node) {
  return node.getAttribute('data-keyvalue');
})
console.log(chk);
&#13;
<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" />
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我遇到了同样的问题,最后我的所有搜索都达到了,你必须一次处理一个并自己构建数组或字符串。尝试创建一个为您执行此操作的功能,并且只要您需要全部功能,该功能将以您需要的格式为您提供数据。