私は、CSSを使ってdatepicker内の特定の要素のスタイルを設定しようとしています。 n番目のセレクタを使うとシンプルでなければならないと思っていましたが、どうやってそれが可能かは分かりません。CSSで特定のクラスを持たないHTML要素の最初のオカレンスを選択する方法は?
は、私はこのようなCSSとHTMLコードを持っている:
.ui-datepicker tr td:not(.ui-state-disabled) + td:nth-of-type(1)
{
background-color: red;
}
<table class="ui-datepicker">
<tr>
<td class="ui-state-disabled">
...
</td>
<td class="ui-state-disabled">
...
</td>
<td>
This is the td element I like to select
</td>
<td>
...
</td>
</tr>
</table>
<table class="ui-datepicker">
<tr>
<td class="ui-state-disabled">
...
</td>
<td class="ui-state-disabled">
...
</td>
<td class="ui-state-disabled">
...
</td>
<td class="ui-state-disabled">
...
</td>
<td>
This is the td element I like to select
</td>
<td>
...
</td>
<td>
...
</td>
</tr>
</table>
は私が最後のui-state-disabled
要素の後の最初のtd
要素を選択したいと思います。問題は、そのtd
要素の位置と、td
要素の数が常に同じではないということです。スニペットのCSSコードで何を試してみたかはわかりますが、うまくいきません。私が探しているのは、 "最初のオカレンス"セレクタです。 CSSだけを使ってこれを達成する方法はありますか?
あなたはの型、最後のプラス隣接兄弟の組み合わせを試したことがありますか? 'td.ui-state-disabled:last-of-type + td {}' – Dominic
なぜJavaScriptではなくCSSを使用する必要がありますか? – j08691
残念ですが、これはCSSで解決できる共通の問題の一種だと私は思っていました。ありがとうございました。 – phpheini