使用JS DOM,我想获得具有相同名称的所有输入标记

时间:2015-03-03 20:17:48

标签: javascript dom

嘿伙计我有这个简单的表格,只需要知道如何调用名为'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;
}

3 个答案:

答案 0 :(得分:2)

您可以使用.querySelectorAll()attribute selector

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');

答案 1 :(得分:1)

请参阅:

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>   

答案 2 :(得分:1)

使用Document.getElementsByName()

var inputs = document.getElementsByName("checks");

你将获得一个包含所有这些输入的NodeList对象。