使用JSDOM,我想获得所有具有相同名称的输入标记
Using JS DOM, I want to get all input tags with the same name
嘿,伙计们,我有这个简单的表单,只需要知道如何调用所有名为"checks"的输入标签。
<form>
<ul>
<li><input type="checkbox" name="checks"/> A</li>
<li><input type="checkbox" name="checks"/> B</li>
<li><input type="checkbox" name="checks"/> C</li>
<li><input type="checkbox" name="checks"/> D</li>
</ul>
</form>
到目前为止,我拥有的JS是:
function myFunc() {
return document.getElementsByTagName('input').name;
}
您可以使用.querySelectorAll()
和属性选择器:
document.querySelectorAll('input[name="checks"]');
您还可以使用.forEach
循环对它们进行迭代:
var checkboxes = document.querySelectorAll('input[name="checks"]');
Array.prototype.forEach.call(checkboxes, function (el) {
console.log(el.name);
});
当然,您也可以使用.getElementsByName()
:
document.getElementsByName('checks');
参见:
- https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll
- https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors
console.log( document.querySelectorAll('input[name=checks]') )
<form>
<ul>
<li><input type="checkbox" name="checks"/> A</li>
<li><input type="checkbox" name="checks"/> B</li>
<li><input type="checkbox" name="checks"/> C</li>
<li><input type="checkbox" name="checks"/> D</li>
</ul>
</form>
使用Document.getElementsByName():
var inputs = document.getElementsByName("checks");
您将得到一个包含所有这些输入的NodeList对象。
相关文章:
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 离子/角度日期输入使用时刻以编程方式设置
- 反应构建选择输入使用 for 循环
- 如何根据选择输入使用 javascript 更改页面的内容
- 对表单输入使用可重用指令
- AngularJS文本输入使用ng模型,但需要默认值,而不使用value=或ng-init=
- 基于一个值对一组输入使用ng-disabled
- 如何对多个输入使用相同的$(document).ready(function() ?
- 我如何删除最后添加的<输入>使用javascript
- 根据用户输入使用Javascript显示图像
- 自动减去数字没有按钮点击基于输入使用javascript或PHP
- 我如何找到HTML5范围输入使用jquery的方向
- 根据用户输入使用jquery创建html元素
- 如何只允许数字0-5在<输入>使用AngularJS
- 在JavaScript中基于用户输入使用条件语句的问题
- 如何根据用户输入使用PHP和AJAX从XML中提取数据
- 刷新输入:使用Jquery Mobile从iframe接收无线电
- 添加“;清除字段”;按钮引导3输入使用jQuery+CSS类
- 根据输入使用Jade生成HTML
- 对编程创建的输入使用selectionStart