고급 제목, 간단한 질문 :
jQuery에서 다음을 수행하려면 어떻게해야합니까 (를 제외한 모든 항목 숨기기 $(this)
)?
$("table tr").click(function() {
$("table tr:not(" + $(this) + ")").hide();
// $(this) is only to illustrate my problem
$("table tr").show();
});
답변
$(this).siblings().hide();
답변
$("table.tr").not(this).hide();
제쳐두고 $("table tr")
(점 대신 공백으로) 의미한다고 생각합니다 .
당신이 그것을 가지고있는 방식으로, 그것은 아마도 당신이 원하는 것이 아닌 tr
(예 🙂 클래스를 가진 모든 테이블을 <table class="tr">
선택합니다.
자세한 내용은 설명서를 참조하십시오 .
답변
not ()을 다른 선택기와 결합하려면 add ()를 사용할 수 있습니다.
$('a').click(function(e){
$('a').not(this).add('#someID, .someClass, #someOtherID').animate({'opacity':0}, 800);
});
이렇게하면 다른 모든 링크가 페이드 아웃되지만 클릭 된 링크는 페이드 아웃되고 추가로 선택된 일부 ID와 클래스가 페이드 아웃됩니다.
답변
해결책은 다음과 같습니다.
$("table.tr").click(function() {
$("table.tr:not(" + $(this).attr("id") + "").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
-댓글 편집 :
$("table.tr").click(function() {
$("table.tr:not(#" + $(this).attr("id") + ")").hide(); // $(this) is only to illustrate my problem
$(this).show();
})