getElementByName返回类型错误

getElementByName returns Type Error?

本文关键字:错误 返回类型 getElementByName      更新时间:2023-09-26

我的代码:

var isSomethingChecked = (document.getElementByName("koalaCheck").checked ||
                          document.getElementByName("kangarooCheck").checked);

为什么这段代码抛出一个名为"Type Error"的异常?

没有称为getElementByName的函数。您需要的是getElementsByName,它返回具有该名称的所有元素的数组。所以你可以使用:

var isSomethingChecked = (document.getElementsByName("koalaCheck")[0].checked ||    
                         document.getElementsByName("kangarooCheck")[0].checked);

这是因为正确的方法是document.getElementsByName()。你漏了一个s。

查看文档

假设您不希望检查每个元素的检查状态(因为该方法返回一个数组)..我会用document.getElementById() ..但这是看不到你的html。

getElementsByName返回具有给定名称的所有元素的数组。您需要使用getElementById函数,或者在返回的数组中指定一个特定的元素,如下所示:

var isSomethingChecked = (document.getElementsByName("koalaCheck")[0].checked || document.getElementsByName("kangarooCheck")[0].checked);

你得到"Type Error",因为你检查的是一个数组而不是一个特定的元素。