$(this).addClass()不起作用

时间:2011-09-02 05:58:19

标签: javascript jquery

我可以执行$(this).children("a").addClass("class")并且它可以正常工作,但是当我执行$(this).addClass("class")时它无效。我在鼠标悬停功能中使用$(this)

$("#site nav li.hasChild").mouseover(function ()
{
    $(this).children("a").addClass("selectedTab");  // works fine
    $(this).addClass("selectedFixTab"); // does not work
    $(this).children("ul").css("display", "block");
});

HTML:

<header id="site">
    <nav>
        <ul>
            <li id="Li1" class="hasChild">
                <a href="#">Fix</a>
                <ul>
                    <li><a href="#">1</a></li>
                    <li><a href="#">2</a></li>
                    <li><a href="#">3</a></li>
                    <li><a href="#">4</a></li>
                    <li><a href="#">5</a></li>
                </ul>
            </li>
            <li id="Li2" class="hasChild">
                <a href="#">Learn</a>
                <ul>
                    <li><a href="#">1</a></li>
                    <li><a href="#">2</a></li>
                    <li><a href="#">3</a></li>
                    <li><a href="#">4</a></li>
                </ul>
            </li>
            <li id="Li3">
                <a href="contact.htm">Contact</a>
            </li>
        </ul>
    </nav>
</header>

CSS:

.selectedFixTab
{
    border-top:1px solid #eb7c00;
    border-left:1px solid #eb7c00;
    border-right:1px solid #eb7c00;
}

.selectedLearnTab
{
    border-top:1px solid #2d70a3;
    border-left:1px solid #2d70a3;
    border-right:1px solid #2d70a3;
}

.selectedTab
{
    border-bottom:1px solid #fff;
}

2 个答案:

答案 0 :(得分:2)

只要鼠标悬停在LI标记上,它就会成功将"selectedFixTab"类添加到顶级LI标记。你可以在这个jsFiddle中看到它的实际效果:http://jsfiddle.net/jfriend00/mj2u6/

我不确定它是否正在按照您的意图行事,但它正在执行代码所要做的事情。如果您想解释您想要完成的任务,我们可以帮助您修复代码以执行您想要的操作。

答案 1 :(得分:0)

$("#site nav li a").mouseover(function ()
{
    $(this).children("a").addClass("selectedTab");  // works fine
    $(this).addClass("selectedFixTab"); // does not work
    $(this).children("ul").css("display", "block");
});

我认为这就是你想要的!