警告<a> tags</a>的innerHTML

时间:2014-10-05 11:42:31

标签: javascript html

我有一个如下的java脚本代码,它应该改变&#34; a&#34;的颜色。标签和

警告他们的内部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?我点击它的标签?

1 个答案:

答案 0 :(得分:1)

更简单的解决方案是执行以下操作:

&#13;
&#13;
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;
&#13;
&#13;

this传递给onclick事件处理程序会使其知道所单击的元素。而且,由于您的所有a元素都已归入top_nav div内,因此您可以简单地循环遍历其所有子元素以更改其颜色。

这是一个工作小提琴http://jsfiddle.net/JohnnyEstilles/m1960yyL/