我正在尝试更改列表项,当用户单击所选类更改为单击的项时。我有这段代码:
$(function() {
$("a.product-page li").click(function(){
$(this).parent("a").addClass("selected-page");
$("#options a.selected-page").removeClass("selected-page");
});
});
但是,removeClass不起作用,但addClass没有。
这是Site。
HTML:
<ul id="options">
<a href="#summary" id="summary" class="product-page selected-page"><span></span><li>Summary</li></a>
<a href="#specs" id="specs" class="product-page"><span></span><li>Specs</li></a>
<a href="#media" id="media" class="product-page"><span></span><li>Media</li></a>
<a href="#reviews" id="review" class="product-page"><span></span><li>Reviews</li></a>
</ul>
CSS:
ul#options {
margin-left:0px;
}
ul#options li{
list-style:none;
padding: 10px 20px;
background: #CCC;
border-top: 1px #999 solid;
border-left: 1px #999 solid;
border-right: 1px #999 solid;
}
ul#options a{
display:block;
border:none !important;
}
ul#options a.selected-page span{
position:absolute;
width:0px;
height:0px;
border-width:10px;
border-color:transparent #999999 transparent transparent;
border-style:solid;
margin-left:270px;
margin-top:11px;
}
ul#options a:last-child li {
border-bottom:1px #999 solid;
}
答案 0 :(得分:7)
这是因为你立即删除了这门课程。翻转这两行,它就会起作用。
$(function() {
$("a.product-page li").click(function(){
$("#options a.selected-page").removeClass("selected-page");
$(this).parent("a").addClass("selected-page");
});
});
如上面的评论中所述,您的HTML也非常不正确。这需要修复。
答案 1 :(得分:2)
您正在添加该类,然后在下一行中删除。
这里的订单
$(this).parent("a").addClass("selected-page");
$("#options a.selected-page").removeClass("selected-page");
不正确。
答案 2 :(得分:2)
<a>
标记中包含li
链接标记,如下所示<强> HTML:
<ul id="options">
<li><a href="#summary" id="summary" class="product-page selected-page"><span></span>Summary</a></li>
<li><a href="#specs" id="specs" class="product-page"><span></span>Specs</a></li>
<li><a href="#media" id="media" class="product-page"><span></span>Media</a></li>
<li><a href="#reviews" id="review" class="product-page"><span></span>Reviews</a></li>
</ul>
<强>代码:
$(function() {
$("a.product-page", $('#options')).click(function(){
$(this).addClass("selected-page");
$("#options a.selected-page").not(this).removeClass("selected-page");
});
});
答案 3 :(得分:1)
反转行
$(this).parent("a").addClass("selected-page");
$("#options a.selected-page").removeClass("selected-page");