私はこのコードを使用しています
$('.list-item:nth-child(5n)').after('<div class="clear"><img src="http://domain.com/image.jpg" width="780" height="80" alt="banner" /></div>')
これは Firefox と Chrome では正常に動作しますが、IE8、IE9 では動作しません...
私はこのコードを使用しています
$('.list-item:nth-child(5n)').after('<div class="clear"><img src="http://domain.com/image.jpg" width="780" height="80" alt="banner" /></div>')
これは Firefox と Chrome では正常に動作しますが、IE8、IE9 では動作しません...
jQuery はnth-child
、ネイティブ ブラウザ サポートがない場合の処理を行います。IE7、8、9+で問題なく動作します。
nth-child
IE6-8ではサポートされていません。IE9はそれをサポートしています。ここを参照してください。
考えられる回避策については、この質問を参照してください。
他に何か問題があるようです。コードはIE6でも機能するはずです。IE<9はn番目の子をネイティブにサポートしていませんが、jQueryのセレクターエンジン(Sizzle)が暗黙的に処理します。
このコードを試してみてください:
<script>
$("ul").remove();
var ul = $("<ul>");
for (var i = 1; i < 100; i++) {
$("<li>", {
"class" : "list-item",
html : i
}).appendTo(ul);
}
ul.appendTo(document.body);
$('.list-item:nth-child(5n)')
.after('<div class="clear">Clear!</div>')
</script>
「クリア!」が見えますか?備考?IE6でも、次のことを行う必要があります...
jQuery の nth-child セレクターは、IE8 の複雑なセレクターが関係するまれなケースでは機能しません。
以下は、IE8 で変更する必要がありました。
//Works fine in IE9+, FF and Chrome.
//dataColumn = jQuery('.table-header div.rf-edt-hdr + div table table tbody > tr:nth-child(1) td:nth-child(1)');
//headerColumn = jQuery('div.table-header > div.rf-edt-hdr table table > tbody > tr td:nth-child(1)');
dataColumn = jQuery('.table-header div.rf-edt-hdr + div table table tbody > tr').eq(0).find('td').eq(0);
headerColumn = jQuery('div.table-header > div.rf-edt-hdr table table > tbody > tr td').eq(0);
注:nth-child は 1 インデックス ベースです。eq() は 0-index ベースです。
実際には、js フォルダーにアップロードしてヘッダーにいくつかの条件を追加できるスクリプトがあり、nth-child は IE 6、7、および 8 で動作します。詳細については、こちらを参照してください。丸みを帯びた角を使用する必要がある場合は、 curvycorners.js と呼ばれるこの別のスクリプトをインストールすると、本当に時間が節約されます。幸運を