답변:
시험
$(':not([data-go-to=""])')
최신 정보:
누구도 길을 잃지 않기 위해이 답변은 이전 버전의 jQuery에서 작동하지만 미래 보장은 아닙니다. @gmo와 @siva의 답변이 모두 최신 버전에서 작동하는 것 같기 때문에 답변을 연기합니다.
$('element:not([attribute=])'); // gets all of <element attribute="">
또는$(':not([attribute=])'); // gets all of <* attribute="">
$('[data-go-to!=""]:[data-go-to]')
작동합니다.
추가 참조와 마찬가지로 최신 (14 년 5 월) (15 년 8 월) (16 년 9 월) ( 17 년 4 월) ( 18 년 3 월) ( 19 년 3 월) ( 20 년 5 월 ) ...
다음과 함께 작동하는 답변 :
빈 문자열 :
는 경우 합니다 존재 및 수 의 값이 (전혀 또는 없음)을
attr
jQuery("[href]");
누락 된 속성 :
경우 수 존재 및 존재하는 경우, 있어야 어떤 가치를 가지고
attr
jQuery("[href!='']");
아니면 둘다:
만약이 있어야 존재 & 가지고 있어야 어떤 값을 ...
attr
jQuery("[href!=''][href]");
추신 : 더 많은 조합이 가능합니다 ...
jQuery v1.11.0 ->
jsFiddle online testjQuery v2.1.0 ->
jsFiddle online testjQuery v2.1.3 ->
jsFiddle online testjQuery v3.0.0-alpha1 ->
jsFiddle online testjQuery v3.1.1 Slim ->
jsFiddle online test jQuery v3.2.1 ->
jsFiddle online test jQuery v3.3.1 ->
jsFiddle online test jQuery v3.4.1 ->
jsFiddle online test 5 월 28'20에 jsFiddle에서 사용 가능한 마지막 jQuery 버전 jQuery Edge ->
jsFiddle online test jQuery edge 버전 (주의해서 사용) * 스 니펫은 jQuery v2.1.1을 실행 중입니다.
$(':not([data-go-to=""])')
더 이상 작동하지 않습니다
$('[data-go-to!=""]:[data-go-to]').each(function() {
// Do Your Stuff
});
Unrecognized Expression
오류가 발생합니다.
'data-attributename'이 있고 해당 값이 비어 있지 않습니다.
$('[data-attributename]:not([data-attributename=""])')
'data-attributename'이 비어 있거나 없습니다 :
$('[data-attributename]')
간단한 선택기에 대해서는 잘 모르겠지만 다음을 사용할 수 있습니다 filter()
.
$('[data-go-to]').filter(
function(){
return ($(this).attr('data-go-to').length > 0);
});
참조 :
이 시도 :
$('[data-go-to:not(:empty)]')
"Syntax error, unrecognized expression: [data-go-to:not(:empty)]"