0

cssで要素を選択しようとしていますが、css3は古いシステム用なので使えません。

nth-last-child(2)

cssでこれを行う方法はありますか

4

2 に答える 2

2

次のように jQuery を使用してクラスを追加できます。

// #css3 and .query can be any css3 selector
$("#css3 .query:nth-last-child(2)").addClass("lasties2")

次に、css でクラス (lasties2) を定義します。JavaScript を使用できない、別のライブラリを使用している、またはライブラリを使用したくない場合は、指定してください。mootools やプロトタイプなどの他のライブラリにも、同じ目的を達成する方法があります。CSS3 をサポートしていない環境で純粋な JavaScript を使用すると、さらに困難になりますが、それは可能です。JavaScript を使用できない、または使用したくない場合は、関連するアイテムに手動でクラスを追加する必要があります。

JavaScript と手動のアプローチの 1 つの注意点は、ページが JavaScript によって変更された場合、動作が css3 と一致しないことです。CSS3 では、最後の子から n 番目が変更された場合、新しいものがスタイルされ、jquery または手動のクラス化で最初のものに固執します。ここに私が何を意味するかを示すjsfiddleがあります: http://jsfiddle.net/CSExB/35/

フィドルを試してみるとわかるように、最初にクラスを削除し、次に変更を加え、最後にクラスを再適用することで、javascript でこれを修正できます。たとえば、上記のコードの場合は次のようになります。

$("#css3 .query:nth-last-child(2)").removeClass("lasties2");
$("#css3").append('<p class="query">something</p>');
$("#css3 .query:nth-last-child(2)").addClass("lasties2");
于 2013-08-15T01:03:46.257 に答える