jquery访问嵌套div
这是我的问题。我有这个简单的菜单。
<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 标签。
我正在写的是: $ ('a#home').addClass("active");
但不起作用。 我如何访问这个嵌套标签并添加一些类?
任何建议将不胜感激! 谢谢
Here is my question. I am having this simple menu.
<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>
and I wanna to use jQuery to add a class ".active" to the a tag with the id="home".
What I am writing is: $('a#home').addClass("active");
but is not working.
How can I access this nested tag and add some class??
Any suggestions would be highly appreciated!
Thanx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
典型的错误是将 jQuery 代码放在标头中,但没有包装在就绪事件中。
确保您有:
请参阅此处进行实时测试:http://jsfiddle.net/QdVLs/(记住jsfiddle 自动将任何代码包装在就绪方法中,如上面所示)
The typical mistake is to put your jQuery code in the header, but not wrapped in a ready event.
Make sure you have:
see here for a live test: http://jsfiddle.net/QdVLs/ (remember jsfiddle automartically wraps any code in a ready method like above)
您可能需要在文档准备好后使用它,
原因可能是当您的 javascript 执行时,dom 可能尚未创建元素
a#home
/#home
。这种情况可以使用 ready 方法来处理,如上所示。您只需在代码前添加
alert($('a#home').length)
语句即可测试该情况。它应该提醒1
否则您可以尝试使用ready()
并重试,这次将alert()
放入ready()
方法。You may need to put use it after document ready
The reason can be when your javascript is executed the dom may not have created the element
a#home
/#home
. This case can be handled using the ready method as shown above.You can test the case by just adding a
alert($('a#home').length)
statement before your code. It should alert1
else you can try to use theready()
and try again, this time put thealert()
inside theready()
method.$('a#home').addClass("active");
应该可以。你还有其他具有相同 id 的元素吗?
你把这段代码放在哪里了? (应该在文档就绪事件之后执行)
$('a#home').addClass("active");
should work.Do you have other element with the same id ?
Where did you put this code ? (It should be executed after document ready event)