Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $(this).addClass()不工作_Javascript_Jquery - Fatal编程技术网

Javascript $(this).addClass()不工作

Javascript $(this).addClass()不工作,javascript,jquery,Javascript,Jquery,我可以做$(this).children(“a”).addClass(“class”),它工作得很好,但是当我做$(this).addClass(“class”)时,它就不工作了。我正在mouseover函数中使用$(this) $("#site nav li.hasChild").mouseover(function () { $(this).children("a").addClass("selectedTab"); // works fine $(this).addCla

我可以做
$(this).children(“a”).addClass(“class”)
,它工作得很好,但是当我做
$(this).addClass(“class”)
时,它就不工作了。我正在mouseover函数中使用
$(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:


一旦鼠标悬停在LI标记上,它就会成功地将
“selectedFixTab”
类添加到顶级LI标记中。您可以在下面的jsFiddle中看到它的作用:

我不确定它是否完全符合您的意图,但它正在按照代码的要求执行。如果您愿意解释您正试图完成的任务,我们可能会帮助您修复代码以完成您想要的任务

$("#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");
});

我想这就是你想要它做的

您的代码运行良好。在这里看到它的行动,剪切并粘贴:@Dan Clash。您使用什么浏览器进行检查?也许它不支持多个CSS类?只是一个一般提示——添加console.log($(this))或console.log(this.className),你会知道你选择的是什么/它的类名。@Andrew我严重怀疑他是否会使用IE 4或Netscape Navigator。我正在使用IE 9,但是需要它在Firefox和Chrome中工作吗?为什么选择一个
a
,然后是
a
儿童?我把它放在OP的代码中,这样他就可以识别它了。但是我认为当鼠标悬停在
  • 上时,他想向添加一个类。我需要向父级li以及子级a添加一个类,这就是为什么我将鼠标悬停在li上,然后可以选择子级a标记。您还需要帮助吗?我解决了这个问题。在另一个类中,边框被设置为白色,因此它不会显示给我。谢谢大家的帮助。
    .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;
    }
    
    $("#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");
    });