[css] “같지 않음”CSS 속성 선택기를 찾을 수 없습니다.

속성 “foo”에 값이있는 div 요소를 대상으로 지정하고 싶습니다.

<div foo="x">XXX</div>
<div foo="">YYY</div>

이 CSS를 시도했지만 작동하지 않습니다.

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



답변

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

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


답변

:not([foo=''])
{
    background: red;
}

http://jsfiddle.net/gsLvuys0/


답변

허용되는 대답의 한 가지 문제는 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'])


답변

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

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

깡깡이

이것을 읽으십시오


답변