2016-10-10 2 views
1

마우스를 클릭하면 링크를 숨기고 다른 div를 표시해야합니다.마우스 클릭시 링크를 숨기고 표시

<div class="fetch-from-link"> 
<a href="#" class="test" onClick="$(this).parent().hide();"> 
    Fetch from link 
</a> 

<div class="hello">Hello world</div> 
</div> 

단순한 숨기기 방법을 사용합니다. 하지만 링크 숨기기 후에 어떻게 "hello"div를 표시 할 수 있습니까?

+0

클릭해야하는 요소를 숨기면 사용자가 어떻게 표시하겠습니까? – nem035

+0

Hello world가 포함 된 div가 숨어 있습니다. jquery를 사용하여 상위 div를 숨길 때 밖으로 이동하거나 이동하십시오. –

답변

1

다음과 같은 코드를 사용할 수 있습니다

$(function() { 
 
    $('.test').click(function() { 
 
    $('.test').hide(); 
 
    $('.hello').show(); 
 
    }); 
 
})
.hello { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="fetch-from-link"> 
 
    <a href="#" class="test">Fetch from link</a> 
 
    <div class="hello">Hello world</div> 
 
</div>

+0

감사. 이 링크를 클릭하면 다른 요소를 숨길 수 있습니까? – Janath

+0

이 줄을 복사 $ ('. test'). hide(); 선택기를 변경하십시오 (.test 대신 요소와 일치하는 선택기 사용). – Sebastian

3

jQuery는 못생긴 인라인 클릭 처리기 대신 이벤트 처리기를 사용하므로 바인딩됩니다.

현재 요소가 hide()이고 다른 요소를 표시하려면 Class Selector ('.hello')을 사용해야합니다. 현재 HTML 당으로


jQuery(function($) { 
 
    $('.test').click(function(e) { 
 
    e.preventDefault(); 
 
    $(this).hide(); 
 
    $('.hello').show(); 
 
    }) 
 
});
.hello { 
 
    display: none 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="fetch-from-link"> 
 
    <a href="#" class="test">Fetch from link</a> 
 
    <div class="hello">Hello world</div> 
 
</div>
, 당신은 .next()

이 일치하는 요소의 집합에있는 각 요소의 바로 다음 형제를 얻을 수 있습니다. 선택기가 제공되면 해당 선택기와 일치하는 경우에만 다음 형제를 검색합니다.

jQuery(function($) { 
    $('.test').click(function(e) { 
     e.preventDefault(); 
     $(this).hide().next().show(); 
    }) 
}); 
+1

'$ (this) .hide(). next(). show()'가 더 좋고 더 짧다고 생각합니다. – Mohammad

+0

이 링크를 클릭하면 다른 요소를 숨길 수 있습니까? – Janath

+0

@CssSY, 가능합니다. – Satpal

1

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="fetch-from-link"> 
 
<a href="#" class="test" onClick="$(this).parent().hide();$('.hello').show();"> 
 
    Fetch from link 
 
</a> 
 

 

 
</div> 
 
<div class="hello" style="display: none; ">Hello world</div>

당신은 D를 이동해야합니다 당신이 "안녕하세요 세계"텍스트를 포함하는 div를 숨기고 있기 때문에 외부에 iv.

1
<div class="fetch-from-link"> 
<a href="#" class="test" onClick="$(this).hide().siblings('.hello,.second-class,.third-class').show();"> 
    Fetch from link 
</a> 

<div class="hello">Hello world</div> 
</div> 

두 요소가 모두 포함 된 div이 숨어 있습니다. 링크 만 숨기기.

+0

다른 두 개, 세 개의 요소를 숨기려면 클래스를 변경하는 코드를 반복해야합니까? 아니면이 작업을 수행하는 결합 된 방법이 있습니까? – Janath

+0

숨기려는 모든 형제 요소에 대해 한 번에 여러 클래스를 지정할 수 있습니다. –

+0

좋아요! 동일한 링크를 클릭하면 다른 요소를 숨길 수 있습니까? – Janath

관련 문제