ページを制御できませんが、入力に CSS 経由でテキストが含まれているかどうかを検出します
P粉850680329
2023-08-20 18:25:33
<p>CSS を通じて入力ボックスにテキストがあるかどうかを検出する方法はありますか? <code>:empty</code> 疑似クラスと <code>[value=""]</code> を使用してみましたが、成功しませんでした。解決策が見つからないようです。 </p>
<p>似たような <code>:checked</code> や <code>:indeterminate</code> のような疑似クラスがあることを考えると、それは可能なはずだと思います。 </p>
<p>注意してください: <strong>これは「スタイリッシュ」スタイルのために行っている</strong> ため、JavaScript は使用できません。 </p>
<p>Stylish は、クライアント側でユーザーが制御できないページで使用されることにも注意してください。 </p>
:placeholder-shown
疑似クラスを使用できます。技術的にはプレースホルダーが必要ですが、代わりにスペースを使用できます。スタイリッシュCSS では実現できないため、これはできません。 CSS には、
<input>
値に対する (疑似) セレクターがありません。 ###見る:###W3C セレクター仕様-
Mozilla/Firefox でサポートされるセレクター-
クロスブラウザー、CSS3 サポート表-
:emptyセレクターは子ノードにのみ適用され、入力値には適用されません。
[value=""]
ユーザー スクリプトまたは Greasemonkey スクリプトをは
動作しますが、初期 状態に限ります。これは、CSS によって表示されるノードの valueproperty
が、ノードの valueproperty
(ユーザーまたは DOM JavaScript によって変更される) と異なるためです。フォームデータとして送信されます)。 初期状態のみを気にする場合を除き、使用する必要があります。 幸いなことに、これは難しいことではありません。次のスクリプトは、Chrome、Greasemonkey または Scriptish がインストールされている Firefox、またはユーザー スクリプトをサポートするブラウザ (つまり、IE を除くほとんどのブラウザ) で動作します。 CSS の制限と JavaScript ソリューションのデモについては、
この jsBin ページをご覧ください。 リーリー