如何使用javascript按值选择输入元素?

Pie*_*888 29 html javascript

我已经看到它的jquery等价:

$('input[value="something"]');
Run Code Online (Sandbox Code Playgroud)

但是你如何使用纯javascript(没有jQuery)选择它.

感谢到目前为止的所有响应,但我确定它是否正常工作,我需要将输入的值更改为其他内容.我虽然可以做到这一点

<enter snippet to select element here>.value = "someOtherValue";
Run Code Online (Sandbox Code Playgroud)

但它似乎并不那么容易.有任何想法吗.

小智 39

与ie6-ie7-ie8

function getInputsByValue(value)
{
    var allInputs = document.getElementsByTagName("input");
    var results = [];
    for(var x=0;x<allInputs.length;x++)
        if(allInputs[x].value == value)
            results.push(allInputs[x]);
    return results;
}
Run Code Online (Sandbox Code Playgroud)

与现代浏览器ie9 +(?实际上不确定ie9):

document.querySelectorAll("input[value=something]");
Run Code Online (Sandbox Code Playgroud)


jab*_*lab 12

您可以document.querySelectorAll()在现代浏览器上使用(https://developer.mozilla.org/En/DOM/Document.querySelectorAll),例如

var byValue = document.querySelectorAll('input[value="something"]');
Run Code Online (Sandbox Code Playgroud)

对于旧版浏览器,您必须迭代inputs并检查值,例如

var inputs = document.getElementsByTagName("input"),
    i,
    len,
    byVal = [],
    value = "something";

for (i = 0, len = inputs.length; i < len; i++) {
    if (inputs[i].value === value) {
        byVal.push(inputs[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)