Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 jQuery';s addClass可以工作,但浏览器不能';不要申请新的课程_Javascript_Jquery_Html_Css_Twitter Bootstrap - Fatal编程技术网

Javascript jQuery';s addClass可以工作,但浏览器不能';不要申请新的课程

Javascript jQuery';s addClass可以工作,但浏览器不能';不要申请新的课程,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,所以,在我的页面上,我有一个导航栏,可以帮助我在页面上移动。单击后,我从以前的中删除.active类并将其交给新类。在控制台中,一切看起来都很好,但在页面上有一个问题。我在active中看不到.active类属性,并且在单击之前滚动它的工作方式与以前不同。这是我的页面和代码: (很难描述到底发生了什么:)) SCSS: 编辑: 我更改了代码,将类添加到父元素,如下所示: $(this).parent().addClass('active'); Bootstrap将活动类添加到a的父级,我也尝试

所以,在我的页面上,我有一个导航栏,可以帮助我在页面上移动。单击后,我从以前的
  • 中删除.active类并将其交给新类。在控制台中,一切看起来都很好,但在页面上有一个问题。我在active
  • 中看不到.active类属性,并且在单击之前滚动它的工作方式与以前不同。这是我的页面和代码: (很难描述到底发生了什么:))

    SCSS:

    编辑: 我更改了代码,将类添加到父元素,如下所示:

    $(this).parent().addClass('active');
    

    Bootstrap将活动类添加到a的父级
  • ,我也尝试了同样的方法。由于某种原因,它不起作用。有人知道为什么吗

    你在SCSS中写错了,因为在JQ中

    $("#navbar > ul > li > a").click(function(e) {
      $('.active').removeClass('active');
      $(this).addClass('active'); //here you add class active to the clicked 'a' element
    
    因此,
    a
    元素在单击时具有类
    .active
    。但是,正如我从评论中了解到的,您希望
    li
    处于活动状态,因此请使用:

    $(this).parents('li').addClass('active')
    
    而且在CSS中,您应该更具体,因为您可能已经为
    li.active a
    设置了一些样式,例如写:

    #navbar ul.nav li.active > a { /*styles*/ }
    

    你在SCSS里写错了,因为在JQ里

    $("#navbar > ul > li > a").click(function(e) {
      $('.active').removeClass('active');
      $(this).addClass('active'); //here you add class active to the clicked 'a' element
    
    因此,
    a
    元素在单击时具有类
    .active
    。但是,正如我从评论中了解到的,您希望
    li
    处于活动状态,因此请使用:

    $(this).parents('li').addClass('active')
    
    而且在CSS中,您应该更具体,因为您可能已经为
    li.active a
    设置了一些样式,例如写:

    #navbar ul.nav li.active > a { /*styles*/ }
    

    您需要以父div为目标,尝试将
    $(“#navbar>ul>li>a”)
    更改为
    $(“#navbar>ul>li”)


    }))

    您需要以父div为目标,尝试将
    $(“#navbar>ul>li>a”)
    更改为
    $(“#navbar>ul>li”)


    }))

    我查看您的网站,您的类没有针对性,更改它们在CSS中的执行方式,查看我为您附加的图像,类。活动未应用]


    正如您看到的,灰色被覆盖,但您的类在javascript中得到应用。

    我查看您的网站,您的类没有目标,更改它们在CSS中的执行方式,查看我为您附加的图像,类。活动未应用]


    正如您看到的,灰色被覆盖,但是您的类被应用在javascript中。

    您可以将脚本编写为
    $(this).parent().addClass('active')

    您可以将脚本编写为
    $(this.parent().addClass('active')

    该SCS将转换为
    。激活一个
    选择器,该选择器以类为
    的元素中的a元素为目标。激活的
    但实际上是将类添加到a元素中。。。然后什么也不会发生。a中没有元素。active to target该SCS将转换为
    。active a
    选择器以类
    的a元素中的a元素为目标。active
    但实际上您正在将类添加到a元素中。。。然后什么也不会发生。active到targetI中没有元素。我需要将.active类添加到父元素-
  • (就像bootstrap一样)。我尝试了:$(this.parent().addClass('active'),但它不起作用。知道为什么吗?添加$(this)。parents('li')。addClass('active')你能用HTML编辑你的原始问题吗?这可能是html结构的问题。再看看控制台,是否有错误?控制台中没有错误,代码在这里:这意味着jQ代码正在工作。问题在于SCS。您应该在SCSS中尝试更具体的路径。例如:
    #navbar ul.nav li.active>a{/*styles*/}
    我需要将.active类添加到父元素-
  • (就像引导一样)。我尝试了:$(this.parent().addClass('active'),但它不起作用。知道为什么吗?添加$(this)。parents('li')。addClass('active')你能用HTML编辑你的原始问题吗?这可能是html结构的问题。再看看控制台,是否有错误?控制台中没有错误,代码在这里:这意味着jQ代码正在工作。问题在于SCS。您应该在SCSS中尝试更具体的路径。例如:
    #navbar ul.nav li.active>a{/*styles*/}