そのため、異なるクラス/ID の要素を挿入すると、その :first-child のすべての css ルールが壊れる状況に遭遇しました。
<div id="nav">
<div class="nSub">abcdef</div>
<div class="nSub">abcdef</div>
<div class="nSub">abcdef</div>
<div class="nSub">abcdef</div>
<div class="nSub">abcdef</div>
</div>
.nSub:first-child { margin-top:15px; -moz-border-radius-topleft:5px; /* ... */ }
.nSub { background:#666; /* ... */ }
.nSub:last-child { -moz-border-radius-bottomleft:5px; /* ... */ }
次のように、上記の別のクラス/ ID の要素を挿入するとすぐに:
$('nav').insert({top:'<div id="newWF"></div>'});
.nSub:first-child のすべての宣言は、FF 3.6 と Safari 4 の両方で無視されています。
編集: 明確に言わなかったら申し訳ありません: 上記で挿入された要素は、クラス名「.nSub」を持たないはずです。
<div id="nav">
<div id="newWF"></div>
<div class="nSub">abcdef</div> <!-- BROKEN CSS -->
<div class="nSub">abcdef</div>
<div class="nSub">abcdef</div>
<div class="nSub">abcdef</div>
<div class="nSub">abcdef</div>
</div>