我的代码:
var isSomethingChecked = (document.getElementByName("koalaCheck").checked ||
document.getElementByName("kangarooCheck").checked);
为什么这段代码会抛出一个叫做“类型错误”的异常呢?
发布于 2013-04-14 02:36:36
没有名为getElementByName
的函数。您需要的是getElementsByName
,它返回具有该名称的所有元素的数组。因此,您可以使用:
var isSomethingChecked = (document.getElementsByName("koalaCheck")[0].checked ||
document.getElementsByName("kangarooCheck")[0].checked);
发布于 2013-04-14 02:34:40
这是因为正确的方法是document.getElementsByName()
。你错过了一个s。
假设您不希望按元素检查每个选中的状态(因为此方法返回一个数组)..我会使用document.getElementById()
..但那是在没有看到你的html的情况下。
发布于 2013-04-14 02:39:22
getElementsByName
返回具有给定名称的所有元素的数组。您需要使用getElementById
函数或在返回的数组中指定一个特定的元素,如下所示:
var isSomethingChecked = (document.getElementsByName("koalaCheck")[0].checked || document.getElementsByName("kangarooCheck")[0].checked);
你会得到“类型错误”,因为你检查的是一个数组而不是一个特定的元素。
https://stackoverflow.com/questions/15995124
复制相似问题