这是我的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>
我有另一个div属性name =“usa”,我想搜索它并禁用文本。但是,我总是得到未定义,因为它在我的警报中返回。
编辑:它是一个div标签。
答案 0 :(得分:3)
document.getElementsByName(name)
要求您使用name=""
属性。
有了这个,尝试改变:
var elem = document.getElementsByName(country)[0].value;
要:
var elem = document.getElementsByName(country)[0].innerHTML;
(只要这是你的目标)
.value
这里是错误的方法(元素上没有值属性)。我能够访问.innerHTML
就好了,所以你的功能就是选择合适的元素。如果.innerHTML
不是您想要的,则可以将其替换为其他方法。我不完全确定你在这里所达到的目标,但希望这个jsfiddle有所帮助:
答案 1 :(得分:0)
我不确定你的实施,Stuart Kershaw已经提供了一个很好的解决方案。
另一种方法是更改HTML以提供更动态的选择。
<select onchange="toggleCountry(this.value)">
<option value="USA">USA</option>
<option value="CDN">CDN</option>
</select>
您可以使用此功能来检索值。
function toggleCountry(country)
{
alert(country);
}