如何使jquery在类更改时做出反应

如何使jquery在类更改时做出反应,jquery,class,alter,Jquery,Class,Alter,我有一个使用jquery的简单选项卡导航。每当单击新选项卡时,脚本都会将类“currentNav”添加到当前导航列表元素中,并将其从以前选择的列表元素中删除。现在,每当第二个list元素获得类“currentNav”时,我想更改母ul的背景。开始默认值是第一个列表元素具有此类。我的问题是,我不知道如何让jquery对这种变化做出反应 这是导航的html <ul id="AuktionenNav"> <li><a class="

我有一个使用jquery的简单选项卡导航。每当单击新选项卡时,脚本都会将类“currentNav”添加到当前导航列表元素中,并将其从以前选择的列表元素中删除。现在,每当第二个list元素获得类“currentNav”时,我想更改母ul的背景。开始默认值是第一个列表元素具有此类。我的问题是,我不知道如何让jquery对这种变化做出反应

这是导航的html

<ul id="AuktionenNav">
                    <li><a class="tabSelect one currentNav" href="#Tab0" rel="0">Auktionen starten</a></li>
                    <li><a class="tabSelect two" href="#Tab1" rel="1">Eingestellte Auktionen</a></li>
                </ul>

谢谢你的帮助!谢谢

设置触发器和绑定:

// When an <li> (NOT the first one) is clicked, tell the <ul>
$('ul#AuktionenNav li').not(':first-child').click(function(){ 
    $(this).trigger('li_clicked'); 
});

// When the FIRST <li> is clicked, reset the background
$('ul#AuktionenNav li:first-child').click(function(){ 
    $('ul#AuktionenNav').css("background-image", "url(../system/css/images/default.png)");
});
// Listen for an <li> click
$('ul#AuktionenNav').bind('li_clicked',function(){
    $(this).css("background-image", "url(../system/css/images/eingestellte_Auktionen.png)");
});
//当点击一个
  • (不是第一个)时,告诉
      $('ul#auktionenav li')。不是('first child')。单击(function(){ $(this.trigger('li_clicked'); }); //单击第一个
    • 时,重置背景 $('ul#auktionenav li:first child')。单击(函数(){ $('ul#auktionenav').css(“背景图像”,“url(../system/css/images/default.png)”); }); //收听
    • 点击 $('ul#auktionenav').bind('li#u clicked',function(){ $(this.css(“背景图像”,“url(../system/css/images/eingestelte_Auktionen.png)”); });

  • 我知道您的示例只有两个
  • 标记,但这将很容易扩展,同时保持第一个
  • 的“重置器”

    设置触发器和绑定:

    // When an <li> (NOT the first one) is clicked, tell the <ul>
    $('ul#AuktionenNav li').not(':first-child').click(function(){ 
        $(this).trigger('li_clicked'); 
    });
    
    // When the FIRST <li> is clicked, reset the background
    $('ul#AuktionenNav li:first-child').click(function(){ 
        $('ul#AuktionenNav').css("background-image", "url(../system/css/images/default.png)");
    });
    // Listen for an <li> click
    $('ul#AuktionenNav').bind('li_clicked',function(){
        $(this).css("background-image", "url(../system/css/images/eingestellte_Auktionen.png)");
    });
    
    //当点击一个
  • (不是第一个)时,告诉
      $('ul#auktionenav li')。不是('first child')。单击(function(){ $(this.trigger('li_clicked'); }); //单击第一个
    • 时,重置背景 $('ul#auktionenav li:first child')。单击(函数(){ $('ul#auktionenav').css(“背景图像”,“url(../system/css/images/default.png)”); }); //收听
    • 点击 $('ul#auktionenav').bind('li#u clicked',function(){ $(this.css(“背景图像”,“url(../system/css/images/eingestelte_Auktionen.png)”); });
  • 我知道您的示例只有两个
  • 标记,但这将很容易扩展,同时保持第一个
  • 的“重置器”


    一种方法是使用DOM突变事件:

    $('ul').bind('DOMSubtreeModified',
    
    function() {
        $(this).closest('ul').addClass('red');
    });
    
    $('#toggle').click(
        function(){
            $('ul li:nth-child(2)').toggleClass('highlight');
            return false;
        });
    

    .

    一种方法是使用DOM突变事件:

    $('ul').bind('DOMSubtreeModified',
    
    function() {
        $(this).closest('ul').addClass('red');
    });
    
    $('#toggle').click(
        function(){
            $('ul li:nth-child(2)').toggleClass('highlight');
            return false;
        });
    

    .

    使用jQuery,您可以将其添加到
    toggleClass
    代码中,我们可以看到它吗?使用jQuery,您可以将其添加到
    toggleClass
    代码中,我们可以看到它吗?什么的演示?请将您的代码与问题和答案保持一致。谢谢David。。。“我只是在添加它,等15秒。”塞伯西米利亚很高兴你能成功!快乐地编码,有时别忘了喝杯咖啡休息一下!;)什么的演示?请将您的代码与问题和答案保持一致。谢谢David。。。“我只是在添加它,等15秒。”塞伯西米利亚很高兴你能成功!快乐地编码,有时别忘了喝杯咖啡休息一下!;)谢谢!它工作得很好。。但还有一个问题,如果有人再次单击第一个li元素,我如何获得默认背景图像?非常感谢!!我不得不与李交换部分中的“这个”:与ul#auktionenav的第一个孩子,但现在它工作得很完美!我真的很感谢你的帮助!:)在c/p中遗漏了这一点。谢谢:)谢谢!它工作得很好。。但还有一个问题,如果有人再次单击第一个li元素,我如何获得默认背景图像?非常感谢!!我不得不与李交换部分中的“这个”:与ul#auktionenav的第一个孩子,但现在它工作得很完美!我真的很感谢你的帮助!:)在c/p中遗漏了这一点。谢谢:)