cssで要素を選択しようとしていますが、css3は古いシステム用なので使えません。
nth-last-child(2)
cssでこれを行う方法はありますか
次のように 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");