programing

jQuery - 다중: 선택기 아님

megabox 2023. 8. 17. 21:04
반응형

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

반응형