모든 jQuery 전문가에게 저의 바보 같은 오류가 무엇인지 지적하는 데 도움을 줄 수 있습니다. 사용자가 핫스팟 클래스로 div를 클릭하면 onclick 클래스를 스왑하려고합니다. 아래 코드는 처음 클릭 할 때 클래스를 교체하지만 두 번째 이후 클래스는 교체하지 않습니다. 또한이 작업을 수행하는 더 깨끗한 방법이 있다면 알려주십시오.jQuery의 클래스 변경은 처음 클릭 할 때만 가능합니다.
미리 감사드립니다.
jQuery를 :
$('.hotspot').click(function() {
if($(this).parent().attr("class") == 'checked'){
$(this).parent().removeClass('checked').addClass('unchecked');
}
if($(this).parent().attr("class") == 'unchecked'){
$(this).parent().removeClass('unchecked').addClass('checked');
}
});
마크 업 :
<ul id="prettyCheck">
<li class="checked">
<div class="hotspot"></div>
<div class="desc"><div class="descPad">Some text</div></div>
</li>
<li class="unchecked">
<div class="hotspot"></div>
<div class="desc"><div class="descPad">Some text</div></div>
</li>
</ul>
고마워! 명확히 가까워지고, 토글은 훌륭하게 작동하고 있으며 필요에 따라 계속 추가 할 수있는 것을 볼 수 있습니다. 유일한 장애는 클래스가 선택되지 않은 채로 기본값으로 설정되면 클래스를 전환하기 전에 두 번 클릭해야한다는 것입니다. 나는 함수를 교환하려고 시도했으나 체크 된 것이 디폴트 일 때만 같은 조건이되었다. – Sheldon
위의 업데이트를 시도하십시오 ... – Reigel
업데이트가 클래스를 전환하기에 적합하며 토글 후 필요한 조건을 수행하는 방법을 알아 냈습니다. 당신이 위에서 준 체크 박스 외에 다른 div를 보이거나 감추고 있습니다. – Sheldon