Javascript 如何使用每个ID上的scrollpsy更改标题中的背景色

Javascript 如何使用每个ID上的scrollpsy更改标题中的背景色,javascript,jquery,twitter-bootstrap,scroll,scrollspy,Javascript,Jquery,Twitter Bootstrap,Scroll,Scrollspy,我用的是引导程序中的scrollpsy 我举了一个我正在尝试做的例子: 一切都很好,他在每个部分id处将一个活动类传递给li,但我想更改每个部分标题处的背景 例如: 如果#studio背景色:#0915ff 如果#绿色背景色:085606 $(function() { var $spy = $('.nav'); $spy.bind("activate", function(e) { //e.target is the current <li> element

我用的是引导程序中的scrollpsy

我举了一个我正在尝试做的例子:

一切都很好,他在每个部分id处将一个活动类传递给
li
,但我想更改每个部分标题处的背景

例如:

如果
#studio
背景色:#0915ff
如果
#绿色
背景色:085606

$(function() {
  var $spy = $('.nav');
  $spy.bind("activate", function(e) {
    //e.target is the current <li> element
    var header = $(e.target).find("a").attr("href");
        alert (header);
        $studio = $('#studio')
        $duplex = $('#duplex')
        $tower = $('#tower')
        If( $(header) == "#studio" ) window.alert( “ALERT ACTIVED”);
  });
});
$(函数(){
var$spy=$('.nav');
$spy.bind(“激活”,函数(e){
//e、 目标是当前
  • 元素 var header=$(e.target).find(“a”).attr(“href”); 警报(标题); $studio=$(“#studio”) $duplex=$(“#duplex”) $tower=$(“#tower”) If($(标题)=“#studio”)window.alert(“alert ACTIVED”); }); });
  • 我不熟悉scrollspy,但我已经更新了你的小提琴

    基本上,我在每个标签上都添加了一个“数据背景”属性,它是您想要的颜色值。我在运行时重置所有颜色,并使用以下代码指定正确的颜色

       var $spy = $('.nav');
            var first = $('a', '#navbar')[0];
            $(first).css({'background-color':$(first).data('background')});
      $spy.bind("activate", function(e) {
    
      $('a', '#navbar').css({'background-color':'inherit'});
    var header = $(e.target).find("a");//.attr("hr");
      $(header).css({'background-color': header.data('background')});
     });
    

    事实上,如果scrollspy添加了一个.active类或类似的类,那么这完全可以通过css来完成,比如[href=#studio].active{background:blue}。(请注意,此css未经测试,我无法检查它是否添加了类。例如,当前处于活动状态或处于选中状态)您的代码非常好,并且可以正常工作,但我正在尝试更改链接的背景颜色(.nav a)而不是更改链接的背景颜色。我希望标题背景为黑色。我已在此处更新了代码,看看所使用的选择器,你应该能够计算出发生了什么完美的,它已经按照我想要的方式工作了,非常感谢