<ul>
<li><a href="#banner"><span class="list-nav"></span></a></li>
<li><a href="#section-one"><span class="list-nav"></span></a></li>
<li><a href="#section-two"><span class="list-nav"></span></a></li>
<li><a href="#section-three"><span class="list-nav"></span></a></li>
</ul>
$('.list-nav').first().addClass("spanList");
$('.list-nav').on('click',function(){
$(this).css("background","#6090b6");
$(this).addClass("spanList");
$(this).siblings().removeClass("spanList");
var href = $(this).attr("href");
var pos = $(href).offset().top;
$("html,body").animate({scrollTop: pos}, 1000);
return false;
})
Saya ingin menukar warna ini apabila diklik, tetapi li lain pada tahap yang sama membatalkan warna latar belakang sedia ada. Dan apabila elemen adik beradik lain diklik, unsur adik beradik mendapat warna latar belakang dan warna latar belakang ini dibatalkan.
Mengikut idea kod anda, anda hanya mahu mengendalikan elemen span dan tidak berniat untuk mengendalikan li, jadi kod itu dilaksanakan seperti ini
Demo Dalam Talian
…$this.addClass("").closest("li").siblings("li").find("").removeAttr("")