반응형
jQuery - 다중: 선택기 아님
저는 '#'으로 시작하지 않고 인라인 자바스크립트가 포함되지 않은 페이지 전체 링크를 대상으로 하려고 하는데 셀렉터를 제대로 구성하는 방법을 찾는 데 문제가 있습니다.
여러 실렉터에 대해 검색한 결과, 이 기능이 작동해야 합니다. 두 실렉터는 함께 작동하지 않고 독립적으로 작동합니다.
$('a:not([href*=javascript]), a:not([href^=#])')
.each(function(){...
사용해 보십시오.
$('a:not([href*=javascript]):not([href^=#])') ...
다음을 시도할 수도 있습니다.
$('a').not('[href^=#],[href*=javascript]')
jQuery - Multiple Selectors in a:not()?에 표시된 것처럼 다음 방법이 올바른 방법입니다.
$( 'a:not([href*=javascript],[href^=#])' )
변수를 부정할 선택기가 이미 있는 경우 쉼표 뒤에 따옴표를 넣는 것을 잊지 마십시오.
var selOne = '[href*=javascript]';
var selTwo = '[href^=#]';
$('a:not(' + selOne + ',' + selTwo + ')')
코드가 약간 혼란스럽다는 것은 인정하지만 이점이 있으므로 다음과 같은 작업을 수행할 수 있습니다.
var selOne = '[href*=javascript], [href^=#]';
var selTwo = '.anotherSelector, .andAnother, .andSoOn';
$('a:not(' + selOne + ',' + selTwo + ')')
이 기능은 어떤 이유로 인해 선택기를 그룹화해야 할 때, 즉 코드의 다른 위치에 동일한 선택기 그룹을 사용해야 할 때 유용합니다.
동일한 기술을 사용한 실제 예
$('div:not(.rose-flower,.bus-vehicle)').css('color','red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="bus-vehicle">I am a bus</div>
<div class="strawberry-fruit">I am a strawberry</div>
<div class="rose-flower">I am a rose</div>
http://jsfiddle.net/bmL8gz5j/ 에도 있습니다.
:not
대.not()
성능상의 이유로 다음을 사용해야 합니다.:not
보다는.not()
":not" 선택기와 ".not()" 선택기의 성능 차이를 참조하십시오.
언급URL : https://stackoverflow.com/questions/7144976/jquery-multiple-not-selector
반응형
'programing' 카테고리의 다른 글
IE9 테두리 반지름 및 배경 경사 출혈 (0) | 2023.08.17 |
---|---|
Twitter 부트스트랩 3 스티커 바닥글 (0) | 2023.08.17 |
Ajax 호출 후 페이지 새로 고침을 중지하는 방법은 무엇입니까? (0) | 2023.08.17 |
기존에 없는 CSS 클래스를 사용할 수 있습니까? (0) | 2023.08.12 |
셀레늄 - 크롬 드라이버 실행 파일은 PATH에 있어야 합니다. (0) | 2023.08.12 |