JavaScript getElementByName不起作用

Phi*_*007 19 javascript

这个简单的JS不能设置"para"的值.我猜getElementByName不起作用.但为什么?

<script>
function fn()  
{   
    document.getElementById("para").setAttribute("name","hi");  
    document.getElementByName("hi").setAttribute("value","my value is high");  
}  
</script>
Run Code Online (Sandbox Code Playgroud)

HTML:

<input type="button" onClick="fn()" value="click me">
<input id="para" type="text" />
Run Code Online (Sandbox Code Playgroud)

Mat*_*hen 46

是的getElementsByName.注意复数.它返回具有该name属性的元素的类似数组的NodeList .


Wri*_*ken 11

getElementsByNameexists,返回元素的集合.如果您打算只找到一个:

document.getElementsByName("hi")[0].setAttribute("value", "my value is high");
Run Code Online (Sandbox Code Playgroud)

编辑:a,HTML那里(在编辑之前没有看到).HTML中没有'hi'元素,可能是某些XML格式有...

  • 'hi'不是标签名称.它只是我在scirpt中设置的input'para'的名称属性 (2认同)