2013-07-28 14 views
6

質問は簡単ですが、答えは多分そうではありません。属性に問題があります!セレクタ

私は、特定のIDなしですべての入力要素にいくつかのスタイルを適用しようとしています。私はこのセレクタを自分のCSSスタイルシートで使用します:input[id!='move']しかし、残念ながらIE10やChromeでは動作しません。

不思議なことは、このブロック:input:not(#move)が両方で完全に機能することです。 コードの最初のブロックが、これらのセレクタがどのように動作するかを理解する限り、私は失われています。

アイデア?

+2

[属性セレクタ](http://www.w3.org/TR/selectors/#attribute-selectors)のみを使用して属性を除外することはできません。CSSの属性値を除外するには '!'を使用します無効。 IDを除外する必要がある場合は、[':not()'](http://www.w3.org/TR/selectors/#negation)疑似クラスを含める必要があります。 – Adrift

答えて

6

これは非標準の属性セレクタinvented by jQueryです。 Selectors specificationの一部ではないため、jQueryの外では動作しません(これにはdocument.querySelectorAll()などが含まれます)。

厳密に言えば、標準セレクタ構文のjQueryのinput[id!='move']の直接の同等語は、属性セレクタを持つinput:not([id='move'])です。しかし、特定のIDのない要素に一致するように探しているので、input:not(#move)は問題ありません。

関連する問題