"같지 않음"CSS 속성 선택기를 찾을 수 없습니다.


답변:


175

다음과 같은 코드를 사용하십시오.

div:not([foo=''])
{
    /* CSS Applied to divs having foo value Not nothing (or having a foo value assigned) */
}


6

허용되는 대답의 한 가지 문제는 foo속성 이 전혀없는 요소도 선택한다는 것입니다 . 치다:

<div>No foo</div>
<div foo="">Empty foo</div>
<div foo="x">XXX</div>
<div foo="y">YYY</div>
<div foo="z">ZZZ</div>

div:not([foo=''])첫 번째와 두 번째 div요소를 모두 선택합니다 . div빈 문자열로 설정된 foo 속성이있는 요소 만 원하는 경우 다음 을 사용해야합니다.

div[foo]:not([foo=''])

당신이 속성을 가진 모든 요소하려는 경우 foo어느 쪽도없는 y도를 z, 당신은 사용해야합니다 :

div[foo]:not([foo='y']):not([foo='z'])

1

다음을 사용하여 첫 번째를 선택할 수 있습니다.

[foo = 'x']{
  background:red;
}

깡깡이

이것을 읽으십시오


50 개 div에 대해 foo 값이없는 (foo = '') 100 개 div가 있고 다른 50 개 div가 foo = x 또는 y 등 다른 foo 값을 가지고 있다고 가정하면 위의 솔루션을 따르면 50 개의 선택기를 작성해야합니다.
Shoaib Chikate

2
이것은 op가 원하는 것이 아닙니다. "css 속성 선택기로 다음 div 중 첫 번째 div 만 타겟팅하고 싶습니다."
Sunil Hari

귀하의 대답은 그의 요구 사항에 맞지만 다른 사람들이 제공 한 일반적인 해결책은 아닙니다.
Shoaib Chikate 2014-08-13

@ShoaibChikate 맞아요. 더 일반적인 솔루션을 원합니다. 나는 그것을 반영하기 위해 질문을 업데이트했습니다.
Adrian Rosca
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.