모든 요소에서 클래스를 제거하는 방법 jquery


82

다음과 같이 요소의 클래스를 변경하고 있습니다.

  $("#"+data.id).addClass("highlight")

아래 목록이 주어집니다.

 <div id="menuItems"> 
 <ul id="contentLeft" class="edgetoedge"> 
 <li  class="sep" ">Shakes and Floats</li> 
 <li id="297"><a href="#" onClick="cart('297','add')"><small>$5.00</small><b>Vanilla</b>     </a></li> 
 <li id="298"><a href="#" onClick="cart('298','add')"><small>$5.00</small><b>Peanut Butter</b></a></li> 
 <li id="299"><a href="#" onClick="cart('299','add')"><small>$5.00</small><b>Combo</b></a></li> 
 <li id="300"><a href="#" onClick="cart('300','add')"><small>$5.00</small><b>Chocolate</b></a></li> 
 <li id="301"><a href="#" onClick="cart('301','add')"><small>$5.00</small><b>Strawberry</b></a></li> 
 <li id="303"><a href="#" onClick="cart('303','add')"><small>$5.00</small><b>Banana</b></a></li> 
 <li id="304"><a href="#" onClick="cart('304','add')"><small>$5.00</small><b>Root Beer Float</b></a></li> 
 <li id="305"><a href="#" onClick="cart('305','add')"><small>$5.00</small><b>Espresso</b></a></li> 
 </ul>
 </div> 

나는 이것으로 수업을 제거 할 수 있다고 생각했습니다 ...

  $(".edgetoedge").removeClass("highlight");

그러나 이것은 작동하지 않습니다. 수업을 제거하려면 어떻게해야합니까?

답변:


158

클래스에 li포함 된 태그 를 선택해야합니다 .edgetoedge. .edgetoedge하나의 ul태그 와 만 일치합니다 .

$(".edgetoedge li").removeClass("highlight");

38

시도 : $(".highlight").removeClass("highlight");. 선택 $(".edgetoedge")하면 해당 수준에서만 기능을 실행합니다.


당신의 대답이 받아 들여 져야합니다. 매우 흥미로운 속임수입니다.
vietnguyen09

18

이것은 highlight클래스가있는 모든 것에서 클래스를 제거합니다 edgetoedge.

$(".edgetoedge").removeClass("highlight");

나는 당신이 이것을 원한다고 생각합니다.

$(".edgetoedge .highlight").removeClass("highlight");

.edgetoedge .highlight선택은 뭔가의 자식 모든 것을 선택합니다 edgetoedge클래스와이 highlight클래스를.


2
+1은 요소 유형을 몰라도 항목을 타겟팅하는 기능입니다.
Andy



0

모든 요소에서 jquery의 클래스를 제거하는 가장 좋은 방법은 요소 태그를 통해 대상을 지정하는 것입니다. 예 :

$("div").removeClass("highlight");
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.