jquery访问嵌套div

发布于 2024-10-19 22:41:16 字数 511 浏览 4 评论 0原文

这是我的问题。我有这个简单的菜单。

<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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

太阳男子 2024-10-26 22:41:16

典型的错误是将 jQuery 代码放在标头中,但没有包装在就绪事件中。

确保您有:

$(document).ready(function(){
 $('a#home').addClass('active');
});

请参阅此处进行实时测试: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:

$(document).ready(function(){
 $('a#home').addClass('active');
});

see here for a live test: http://jsfiddle.net/QdVLs/ (remember jsfiddle automartically wraps any code in a ready method like above)

淡写薰衣草的香 2024-10-26 22:41:16

您可能需要在文档准备好后使用它,

$(document).ready(function(){
    $('a#home').addClass("active");
});

原因可能是当您的 javascript 执行时,dom 可能尚未创建元素 a#home/#home。这种情况可以使用 ready 方法来处理,如上所示。

您只需在代码前添加 alert($('a#home').length) 语句即可测试该情况。它应该提醒 1 否则您可以尝试使用 ready() 并重试,这次将 alert() 放入 ready() 方法。

You may need to put use it after document ready

$(document).ready(function(){
    $('a#home').addClass("active");
});

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 alert 1 else you can try to use the ready() and try again, this time put the alert() inside the ready() method.

三生一梦 2024-10-26 22:41:16

$('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)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文