JS控制li,鼠标点击时class自动加上,试了好几种方法,都添加不上,求大神看看。

<div id="topnav">
<ul>
<li id="tna"><a href="__APP__/home/Index/index">Home</a></li>
<li id="tnb"><a href="__APP__/home/Gallery/index">Gallery</a></li>
</ul>
</div>
点击li时把class="visited"加上,覆盖原ID=""中的CSS

<div id="topnav">
        <ul>
            <li id="tna"><a href="__APP__/home/Index/index">Home</a></li>
            <li id="tnb"><a href="__APP__/home/Gallery/index">Gallery</a></li>
        </ul>
</div>



</body>
<script>
 $("li").click(
function (){
$(this).attr("class","visited");
}
 )
</script>追问


加了没反应,提示这是啥意思?

追答

attr换成prop

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-08-26
我直接用
document.getElementById("tna").style.color="red";
样式就变了
找到一个方法:
document.getElementById("tna").className="visited";追问

哥,li 是导航栏,里面有好几个值 不能每个都写啊。

追答

那你就用li的上一层的id。其实一般li上一层还有ul,给ul的class变成visited。然后在css里面写 #ul.li{ 样式内容} 不就行了

相似回答