document.getElementsByName('name').value
返回undefined
。关于为什么会这样,我没有最模糊的想法。
我正确地包含了.js文件,Firebug在我的代码中没有发现任何错误,并且代码在第一行或第一行中失败,因为每次调用上面提到的函数时,它都会返回undefined
。这让我完全糊涂了。
以下是我收录文件的方式:
<script type="text/javascript" src="new.js"></script>
以下是达到函数调用返回的第一个未定义值所需的所有代码:
function myfunction() {
var myvar = document.getElementsByName('myElement').value;
...我在那时得到未定义的变量。我用来触发脚本的按钮使用以下代码:
<button type="button" onclick="myfunction()">MyButton</button>
document.getElementsByName()
返回undefined
的原因?document
对象是否对从其他文件导入的脚本有任何范围问题?对不起,如果这是一个愚蠢的问题。我对Javascript很新。
编辑:谢谢Mike Samuel的回答。这就像一个魅力固定它,我想知道为什么我以前不知道这个?我应该看到getElementsByName()建议有多个值返回的租用猜测......答案 0 :(得分:5)
getElementsByName
返回一个包含元素的类数组对象,而不是元素。在[0]
之前粘贴.value
。
var myvar = document.getElementsByName('myElement')[0].value;
答案 1 :(得分:0)
Javascript有3种不同的功能适用于这种情况。
___________________________________________________________________________________
|getElementById() | Accesses the first element with the specified id. |
| | Returns a single element, as ID's are unique in a document |
|_______________________|____________________________________________________________|
|getElementsByName() | Accesses all elements with a specified name. |
| | Returns an array of all elements marked with this name. |
| | Used like a CSS class(not unique). |
|_______________________|____________________________________________________________|
|getElementsByTagName() | Accesses all elements with a specified tagname. |
| | Returns an array of all elements with a given tag. |
|_______________________|____________________________________________________________|
当您需要特定的单个元素时,请使用ID,任意组的名称(作为带索引的数组进行访问),并在需要所有相同类型的元素时(也通过索引数组)使用标记。 祝你好运,编码愉快; - }