2012-03-31 5 views
5

유형이 이 아닌checkbox 인 모든 입력 태그와 일치하는 CSS 선택기가 필요합니다.유형이 선택되지 않은 모든 입력 태그 선택

이 일치 :

<input value="Meow!" />

<input type="password" />

...하지만이 수행 하지 :

<input type="checkbox" />

유형은 checkbox이기 때문에!

이 내가 지금 무엇을 가지고 : 불행하게도

input:not(type="checkbox")

, 그것은 하지 작업을 수행합니다!

그래서 여기 내 질문에 온다 :

  1. 어떻게 내 CSS3 선택기를 해결하기 위해?
  2. CSS3 및 JavaScript없이 가능합니까?
  3. CSS3는 없지만 JavaScript를 사용할 수 있습니까?

어떤 조언을 주셔서 감사합니다!

답변

17
  1. 귀하의 속성 선택이없는 대괄호 : 당신이 스타일을 적용하는 경우

    input:not([type="checkbox"]) 
    
  2. 당신은 CSS에서 재정의 규칙을 활용해야합니다

    input { 
        /* Styles for all inputs */ 
    } 
    
    input[type="checkbox"] { 
        /* Override and revert above styles for checkbox inputs */ 
    } 
    

    상상할 수 있듯이 브라우저의 기본 스타일이 CSS에서 잘 정의되어 있지 않기 때문에 양식 요소에 대해이 작업을 수행하는 것은 거의 불가능합니다.

    $('input:not([type="checkbox"])') 
    
+0

감사합니다 : 당신이 CSS에서와

$('input:not(:checkbox)') 

또한 같은 선택을 사용할 수 있습니다

  • jQuery를 당신이 사용할 수있는 :checkbox selector 제공합니다! 내가 가진 한가지 생각은'checkbox'를 제외한 모든 가능한 입력 유형을 정의하고 사용자 정의 CSS를 적용 할 수있었습니다. 그런 다음 타입이 지정되지 않은'input' 태그 만 실패합니다. – daGrevis

  • +0

    @daGrevis : 예, 좋습니다. 어쨌든 유형이없는'input' 요소는 피해야합니다. – BoltClock

    +0

    왜 그럴까요? 타당하고 쉬운 HTML5 형식입니다. – daGrevis

    1

    input:not([type="checkbox"])

    +0

    페이지를 더 자주 새로 고쳐야합니다. :) –

    관련 문제