반응형
jQuery에서 사용하는 방법 :not and hasClass()에서 클래스 없이 특정 요소를 가져오는 방법
코드 라인은 다음과 같습니다.
$('#sitesAccordion .groupOfSites').click(function() {
var lastOpenSite = $(this).siblings().hasClass(':not(.closedTab)');
console.log(lastOpenSite);
});
저는 다른 요소 중 하나를 얻는 대신에 "거짓"을 얻습니다. (그것도 있고 반드시 있어야 한다는 가정하에).문제는 다음과 같습니다.
.hasClass(':not(.closedTab)');
무엇이 문제입니까?
저의 목적은 (jQuery UI를 사용하지 않고) 저만의 아코디언을 만드는 것입니다.
저는 이렇게 쓰려고 노력하고 있습니다.
$('#sitesAccordion .groupOfSites').click(function() {
//Get the last opened tab
var lastOpenSite = $(this).siblings().hasClass(':not(.closedTab)');
//Close last opened tab and add class
lastOpenSite.hide().toggleClass('closedTab');
//Open the current Tab
$(this).children('.accordionContent').toggle('fast');
// remove class from open tab
$(this).toggleClass('closedTab');
});
이게 최선의 방법인가요? 고마워요, 알론
대신 함수를 사용합니다.
var lastOpenSite = $(this).siblings().not('.closedTab');
hasClass
단지 어떤 요소가 클래스를 가졌는지를 테스트할 뿐입니다.not
선택한 집합에서 제공된 셀렉터와 일치하는 요소를 제거합니다.
이렇게 하면 훨씬 쉬워집니다.
if(!$('#foo').hasClass('bar')) {
...
}
기준 앞에 있는 !는 거짓을 의미하며 대부분의 프로그래밍 언어에서 작동합니다.
jQuery'shasClass()
method는 요소가 아닌 부울(true/false)을 반환합니다.또한 여기에 부여할 매개변수는 클래스 이름이며 이러한 셀렉터가 아닙니다.
다음의 경우:x.hasClass('error');
jQuery - is(selector) 메서드를 사용할 수도 있습니다.
var lastOpenSite = $(this).siblings().is(':not(.closedTab)');
원래 게시 당시에 이것이 사실이었는지는 모르겠지만, 남매 방식은 선택자를 허용하기 때문에 나열된 OP의 축소가 작동해야 합니다.
$(this).siblings(':not(.closedTab)');
언급URL : https://stackoverflow.com/questions/8743026/how-to-use-in-jquery-not-and-hasclass-to-get-a-specific-element-without-a-cla
반응형
'programing' 카테고리의 다른 글
함수에 필수 매개 변수에 null 전달 (0) | 2023.10.08 |
---|---|
fstream의 peek에 해당하는 C (0) | 2023.10.08 |
속성에 따라 개체 배열을 별도의 배열로 분할 (0) | 2023.10.08 |
HTMLHTML파일 선택 이벤트파일 선택 이벤트 (0) | 2023.10.08 |
mysql 대신 Xampp가 MariaDB에 연결됨(KNP/SymfonyCasts 튜토리얼 "데이터베이스 말하는 법") (0) | 2023.10.08 |