我有一个如下的java脚本代码,它应该改变" a"的颜色。标签和
警告他们的内部HTML:
function change(n){
for(i=1;i<=6;i++){
document.getElementById('nav_'+i).style.color='#666666';}
document.getElementById('nav_'+n).style.color='#FEA563';
var p=document.getElementById('nave_'+n).innerHTML;
alert(p);
}
}
HTML如下。但警报不起作用。
<div id="container">
<div id="top_nav">
<a id="nav_1" onclick="change(1);" href="#">aaaa</a> |
<a id="nav_2" onclick="change(2);"href="#">bbbb</a> |
<a id="nav_3" onclick="change(3);"href="#">ccccc</a> |
<a id="nav_4" onclick="change(4);"href="#">ddddd</a> |
<a id="nav_5" onclick="change(5);"href="#">eeeee</a> |
<a id="nav_6" onclick="change(6);"href="#">fffff</a>
</div>
如何访问&#34; a&#34;的innerHTML?我点击它的标签?
答案 0 :(得分:1)
更简单的解决方案是执行以下操作:
function change(elem) {
var a = document.getElementById('top_nav').children
for (var i = 0; i < a.length; i++) {
a[i].style.color = '#666666';
}
elem.style.color = '#FEA563';
alert(elem.innerHTML);
}
&#13;
<div id="container">
<div id="top_nav">
<a id="nav_1" onclick="change(this)" href="#">aaaa</a> |
<a id="nav_2" onclick="change(this)" href="#">bbbb</a> |
<a id="nav_3" onclick="change(this)" href="#">ccccc</a> |
<a id="nav_4" onclick="change(this)" href="#">ddddd</a> |
<a id="nav_5" onclick="change(this)" href="#">eeeee</a> |
<a id="nav_6" onclick="change(this)" href="#">fffff</a>
</div>
</div>
&#13;
将this
传递给onclick
事件处理程序会使其知道所单击的元素。而且,由于您的所有a
元素都已归入top_nav
div
内,因此您可以简单地循环遍历其所有子元素以更改其颜色。