jQuery : 비어 있지 않은 데이터 속성을 선택 하시겠습니까?


95

data-go-to비어 있지 않은 속성 이있는 모든 요소를 ​​선택하려고합니다 .

나는 시도 $('[data-go-to!=""]')했지만 이상하게도 그렇게하면 페이지의 모든 단일 요소를 선택하는 것 같습니다.

답변:


76

시험

$(':not([data-go-to=""])')

최신 정보:

누구도 길을 잃지 않기 위해이 답변은 이전 버전의 jQuery에서 작동하지만 미래 보장은 아닙니다. @gmo와 @siva의 답변이 모두 최신 버전에서 작동하는 것 같기 때문에 답변을 연기합니다.


감사합니다. 이미지 요소 만 선택하고 싶었 기 때문에 $ ( ': not (img [data-go-to == ""]')를 추가했습니다.
msanjay

2
빈 '이동할 데이터'속성이없는 모든 요소를 ​​선택하지 않습니까? 질문자가 비어 있지 않은 속성을 가진 모든 요소를 ​​원할 때? (시바 Charan의 응답 결의 등)
rodnaph

정말 같이 ... 중 어떤 따옴표가 필요하지 않습니다 $('element:not([attribute=])'); // gets all of <element attribute="">또는$(':not([attribute=])'); // gets all of <* attribute="">
안토니 Hatzopoulos

2
이것은 내가 찾고 데이터-속성이있는 것을 포함하여, 나를 위해 모든 요소를 가져옵니다
악마의 옹호자

Safari에서 작동하지 않는 것 같지만 $('[data-go-to!=""]:[data-go-to]')작동합니다.
Dan

183

추가 참조와 마찬가지로 최신 (14 년 5 월) (15 년 8 월) (16 년 9 월) ( 17 년 4 월) ( 18 년 3 월) ( 19 년 3 월) ( 20 년 5 월 ) ...
다음과 함께 작동하는 답변 :

빈 문자열 :

는 경우 합니다 존재 및 의 값이 (전혀 또는 없음)을attr

    jQuery("[href]");

누락 된 속성 :

경우 존재 및 존재하는 경우, 있어야 어떤 가치를 가지고 attr

    jQuery("[href!='']");

아니면 둘다:

만약이 있어야 존재 & 가지고 있어야 어떤 값을 ... attr

    jQuery("[href!=''][href]");

추신 : 더 많은 조합이 가능합니다 ...


예제 는 jsFiddle 에서이 테스트를 확인하십시오 .


또는 여기에이 코드 스 니펫이 있습니다.

* 스 니펫은 jQuery v2.1.1을 실행 중입니다.


6
이거 야. 여기에서이 사용자를 찬성하세요. 다른 이전 답변은 나를 위해 작동하지 않습니다. 세 번째 예를 사용했습니다.
Valamas

Seconded @ Valamas-AUS
Adam Waite

편집 : SO 코드 스 니펫이 추가되었으므로 여기서 바로 테스트 할 수 있습니다.
gmo

이것은 작동하는 것입니다. $(':not([data-go-to=""])')더 이상 작동하지 않습니다
마티유 샤르 보니

1
현재까지 답을 유지 주셔서 감사합니다
안토니 C를

19
$('[data-go-to!=""]:[data-go-to]').each(function() {
    // Do Your Stuff
});​

6
빈 문자열 누락 속성, 완벽한위한이 하나 개의 작품
adamJLev

4
May'14 현재 작동하지 않고 Unrecognized Expression오류가 발생합니다.
coding_idiot 2014 년

7

'data-attributename'이 있고 해당 값이 비어 있지 않습니다.

$('[data-attributename]:not([data-attributename=""])')

'data-attributename'이 비어 있거나 없습니다 :

$('[data-attributename]')

JS Fiddle 예제


1
이것은 2015 년 6 월에도 여전히 저에게 맞는 유일한 답변입니다.
AlexioVay


4

문서 에 따르면 이것은 그것을해야합니다

:not([attr="value"])

데모

도움이 되었기를 바랍니다



2
$('[data-go-to]').filter(function() {
    return $(this).data('go-to')!="";
});

사용 :not, .not(), :empty요소 자체가 비어 있지 데이터 속성이있는 경우 등은 확인합니다. 이를 위해 데이터 속성 값을 기준으로 필터링해야합니다.

깡깡이


1

이것은 나를 위해 작동합니다

$('[attributename]').filter('[attributename!=""]')

그래도 두 번 반복됩니다.
Jens


0

이것은 나를 위해 작동합니다.

$('.data .title td[data-field!=""]')
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.