jQuery的:第n个孩子没有工作在IE(jQuery :nth-child not working

2019-09-17 21:41发布

我使用此代码

$('.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不工作...

Answer 1:

jQuery的处理nth-child中的原生浏览器支持由于缺少。 它工作得很好,在IE7中,8 9+。

小提琴: http://jsfiddle.net/jonathansampson/Y3MP4/



Answer 2:

nth-child是不是在IE 6-8的支持。 IE9有这方面的支持。 见这里 。

见这个问题的一个可能的解决方法。



Answer 3:

这听起来像有别的东西不对劲。 您的代码应在IE6甚至工作 - 尽管IE <9本身不支持第n个孩子,jQuery的选择器引擎(灒)隐式处理它。

给这个代码一展身手:

<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,你应该......



Answer 4:

实际上,有,你可以在你的js文件的文件夹,并添加在你的头和第n个孩子的一些条件语句会在IE 6,7工作,8,你可以学到更多的脚本, 在这里 ,如果你需要使用圆角您需要curvycorners.js他们是真正的节省时间安装此调用的其他脚本。 祝好运



Answer 5:

jQuery的第n个孩子选择不以某些角落案件涉及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);

注:第n个孩子是从1开始的索引。 当量()是基于0的索引。



文章来源: jQuery :nth-child not working in IE