这是我的问题。我有这个简单的菜单。
<div id="menu">
<ul>
<li> <a id="home" href="home.html"> home </a> </li>
<li> <a id="profile" href="profile.html"> profile</a> </li>
<ul>
</div>
我想使用jQuery在标签中添加一个“.active”类,其中 id =“home”。
我写的是:$('a#home').addClass("active");
但是没有用。
如何访问此嵌套标记并添加一些类??
任何建议都将受到高度赞赏! 感谢名单
答案 0 :(得分:2)
典型的错误是将jQuery代码放在标题中,但不包含在就绪事件中。
确保您拥有:
$(document).ready(function(){
$('a#home').addClass('active');
});
在这里查看实时测试:http://jsfiddle.net/QdVLs/(请记住jsfiddle在上面的就绪方法中自动包装任何代码)
答案 1 :(得分:1)
您可能需要在准备好文件后使用它
$(document).ready(function(){
$('a#home').addClass("active");
});
原因可能是当你的javascript被执行时,dom可能没有创建元素a#home
/ #home
。可以使用上面显示的ready方法处理此案例。
您可以在代码之前添加alert($('a#home').length)
语句来测试案例。它应警告1
您可以尝试使用ready()
并重试,这次将alert()
置于ready()
方法中。
答案 2 :(得分:0)
$('a#home').addClass("active");
应该有用。
你有其他具有相同身份的元素吗?
你把这段代码放在哪里了? (它应该在文档就绪事件之后执行)