如何使用jquery更改类

时间:2015-05-31 15:24:05

标签: javascript jquery html css

我的Jquery代码:

   $('a#cusine1').on('click', function(){  
        $('div#product-list').html("LOADING..........").show();  

        $(".ccid").addClass("0");
        document.getElementById("ccid1").className="active2";     

    });  


        $('a#cusine2').on('click', function(){  
        $('div#product-list').html("LOADING..........").show();  
        $(".ccid").addClass("0");
        document.getElementById("ccid2").className="active2";

    });  


        $('a#cusine3').on('click', function(){  
        $('div#product-list').html("LOADING..........").show();  
        $(".ccid").addClass("");
        document.getElementById("ccid3").className="active2";

    });  

我的HTML代码

      <li id="ccid1" class="ccid">
             <a href="#" id="cusine1"><i class="fa fa-ticket"></i>3 Star Hotel</a>                                  </li>
        <li id="ccid2" class="ccid">
              <a href="#" id="cusine2"><i class="fa fa-ticket"></i>3 Star Hotel</a>                            </li>
        <li id="ccid3" class="ccid">
   <a href="#" id= "cusine3"><i class="fa fa-ticket"></i>5 Star Hotel</a>
     </li>

需要输出:

我需要,当li id&#34; ccid1 &#34;单击,类&#​​34; active2 &#34;应该补充。其他li应该只有&#34; ccid &#34;类。

li的数量可能会因PHP而改变。

发现问题

第一次点击li id&#34; ccid1 &#34;时,班级&#34; active2 &#34;被添加。然后,如果li ID&#34; ccid2 &#34;点击课程&#34; active2 &#34;已添加,但li ID&#34; ccid1 &#34;课程未设置为&#34; 0 &#34;。

3 个答案:

答案 0 :(得分:4)

css类名称不能以数字(CSS grammar)开头,并且任何元素都可以包含多个类,因此如果您需要删除一个类(或将其设置为none),则应使用{{3 }}

答案 1 :(得分:1)

正如我在评论中所说,不要使用以/ only开头的classNames - Number。

这就是你所需要的:

$('.ccid a').on('click', function(){              // This targets all your links
    $('div#product-list').html("LOADING..........").show();  
    $(".active2").removeClass("active2");         // Remove existent active classes
    $(this).parent(".ccid").addClass("active2");  // Set active class 
});  

答案 2 :(得分:0)

我正在猜测你需要什么,这段代码是未经测试的:

$('li.ccid').on('click', function(){  
    $(".ccid").removeClass("active2");
    $(this).addClass("active2");
});

所以当点击任何带有ccid类的li时:

  1. 我们确保从所有这样的li
  2. 中删除“active2”类
  3. 将“active2”类添加到单击的