javascript - document.getElementByName()[0] 未定义

标签 javascript

这是我的js函数

function toggleCountry(country)
{
    var elem = document.getElementsByName(country)[0].value;
    alert(elem);
}

它被称为onclick事件

<a href="#" onclick="toggleCountry('usa');"><div class="navBarItems">USA</div></a>

我有另一个带有属性 name="usa"的 div,我想搜索它并禁用该文本。但是,当它在我的警报中返回时,我总是得到未定义的信息。

编辑:它是一个 div 标签。

最佳答案

document.getElementsByName(name) 要求您使用 name="" 属性。

完成后,尝试更改:

var elem = document.getElementsByName(country)[0].value;

致:

var elem = document.getElementsByName(country)[0].innerHTML;

(前提是这是您的目标)

.value 在这里是错误的方法(元素上没有 value 属性)。我能够很好地访问 .innerHTML ,因此您的函数正在选择适当的元素。如果 .innerHTML 不是您想要的,您可以用其他方法替换它。我不完全确定你在这里要达到什么目的,但希望这个 jsfiddle 有帮助:

http://jsfiddle.net/S68qr/

关于javascript - document.getElementByName()[0] 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22696599/

相关文章:

javascript - 使用 amp-live-list 更新单个相同的元素

javascript - AJAX 调用 PHP 不返回任何值

javascript - 使输入字段 jquery ui datepicker 可编辑

javascript - React Hooks - useFetch 泛化

javascript - 使用 Chrome 调试我的应用程序 - 有时 Chrome 需要很长时间才能刷新。客户端挂起 - 而不是服务器

javascript - 带有光标 Javascript 的自动打字机

javascript - ng-controller 不工作/在 Ionic 中使用 Controller

javascript - react native 刷新组件

javascript - 仅隐藏密码中的几个字符

c# - 灯开关 : How to change the display text in Details Modal Picker