클래스명의 일부를 토글하는 방법?

클래스명의 일부를 토글하는 방법?

QA

클래스명의 일부를 토글하는 방법?

본문

<li>

   <i class="fa fa-folder-open fa-lg" aria-hidden="true"></i>

<li>

 

li 요소를 클릭하면
저 위의 갈색 부분이 토글로 사라졌다 나타났다 하려는데,

어떻게 하는지?

※ 전제: li가 for 반복문으로 여러 개 생성되어 있어서, 해당 메뉴만 바뀌어야 .....

 

 

 

attr, toggleClass , addClass, removeClass 등 명령어 경우엔,

제가 원하는 걸 할 수 없더라구요 (?)

이 질문에 댓글 쓰기 :

답변 2


$(function(){
    $('i.fa-folder, i.fa-folder-open').parent('li').on('click', function(){
        var $element = $(this).children('i');
        if($element.hasClass('fa-folder') == true){
            $element.addClass('fa-folder-open').removeClass('fa-folder');
        } else{
            $element.addClass('fa-folder').removeClass('fa-folder-open');
        }
    });
});

$(function() {
    $("li").on("click", function() {
        $("li i").addClass("fa-folder-open");
        $(this).children("i").removeClass("fa-folder-open");
    });
});

이렇게 하시면 되지 않을까요?

왕계란 님 답변 감사합니다.
근데, 위 코드 경우 아래 두 소스가 상호 토글 되나요?
얼핏 봐선 안 될 것 같은뎅...


<i class="fa fa-folder fa-lg" aria-hidden="true"></i>
<i class="fa fa-folder-open fa-lg" aria-hidden="true"></i>


$(function() {
	$("li").on("click", function() {
		$("li i").removeClass("fa-folder").addClass("fa-folder-open");
		$(this).children("i").removeClass("fa-folder-open").addClass("fa-folder");
	});
});

제가 없애기만 하고 넣는 건 안 했네요.
위처럼 하시면 아마 될 것 같습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,536 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT