我的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;。
答案 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时: