JavaScript getElementByName不使用';行不通

JavaScript getElementByName不使用';行不通,javascript,Javascript,这个简单的JS不能设置“para”的值。我猜getElementByName不起作用。但是为什么呢 <script> function fn() { document.getElementById("para").setAttribute("name","hi"); document.getElementByName("hi").setAttribute("value","my value is high"); } </script>

这个简单的JS不能设置“para”的值。我猜getElementByName不起作用。但是为什么呢

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

函数fn()
{   
document.getElementById(“para”).setAttribute(“name”、“hi”);
document.getElementByName(“hi”).setAttribute(“值”,“我的值高”);
}  
HTML:



getElementsByName
。注意复数形式。它返回一个类似NodeList的数组,其中包含
name
属性的元素。

getElementsByName
存在,它返回元素的集合。如果您计划只查找一个:

document.getElementsByName("hi")[0].setAttribute("value", "my value is high");

编辑:a,HTML(在编辑之前没有看到)。HTML中没有“hi”元素,可能在某些XML格式中有…

不是
getElementByName
,而是
getElementsByName
,它返回数组

<html>
<head>
    <script language="javascript">
        function fn() {
            document.getElementById("para").setAttribute("name","hi");
            x = document.getElementsByName("hi");
            x[0].setAttribute("value","my value is high");
        }
    </script>
</head>
<body onload="fn()">
    <input type="text" id="para" />
</body>
</html>

函数fn(){
document.getElementById(“para”).setAttribute(“name”、“hi”);
x=document.getElementsByName(“hi”);
x[0].setAttribute(“值”,“我的值高”);
}

此外,我发现必须声明文档类型才能使getelementsbyname正常工作


你们太棒了。getElementsByName(“hi”)[0]工作正常!非常感谢。现在我知道只有getElementById不是复数,因为id是唯一的。“hi”不是标记名。这只是我在SCIRPTHEHEHE中设置的输入'para'的名称属性,我的错,把它与getElementsByTagName()混淆了:)请参见这里的答案可能是重复的
<html>
<head>
    <script language="javascript">
        function fn() {
            document.getElementById("para").setAttribute("name","hi");
            x = document.getElementsByName("hi");
            x[0].setAttribute("value","my value is high");
        }
    </script>
</head>
<body onload="fn()">
    <input type="text" id="para" />
</body>
</html>