Jquery IE 7/8不附加在.each循环中生成的元素
在我的标记中,我有一个空的Jquery IE 7/8不附加在.each循环中生成的元素,jquery,internet-explorer,append,each,Jquery,Internet Explorer,Append,Each,在我的标记中,我有一个空的来保存我的缩略图: <ul class="slideSelectors"> </ul><!-- END ul="slideSelectors" --> // GENERATE THE SLIDE SELECTORS [THUMBNAILS] $('.slides .slide').each(function() { var ID = $(this).attr('id'); var imgTag = $(this
来保存我的缩略图:
<ul class="slideSelectors">
</ul><!-- END ul="slideSelectors" -->
// GENERATE THE SLIDE SELECTORS [THUMBNAILS]
$('.slides .slide').each(function() {
var ID = $(this).attr('id');
var imgTag = $(this).find('img').parent().html().split('meta" -->')[1];
var listItem = '<li><a href="#" title="'+ ID +'">'+imgTag+'</li>';
//$('.slideSelectors').html(listItem); // loads only last list item, since .html() replaces all previous LIs
//$('.slideSelectors').add(listItem); // NG in IE7, IE8
$('.slideSelectors').append(listItem); // NG in IE7, IE8
});
。。。所有这些在FF、Safari中都很有魅力
然而,IE7/8似乎无法与.append()产生共鸣:缩略图被呈现(不可点击),但没有
标记和锚定标记,使得缩略图无法用作选择器。我已经警告了imgTag和listItem变量,它们看起来都是正确的(尽管图像标记关闭不正确,尽管在我的.slide divs中是正确的)。使用.prepend()和.html()得到相同的结果是不好的(正如我在相关问题中看到的那样),因为我在.each()循环中,它只渲染最后一个缩略图。(我也在其他地方读过,这可能与糟糕的HTML有关,但我的代码是有效的)
这似乎是一个已知的错误,但我还没有看到修复。除了添加另一个触发器选择器,我已经没有主意了。有人能告诉我解决方案的方向吗
多谢各位
代码中的Shecky
var listItem = '<li><a href="#" title="'+ ID +'">'+imgTag+'</li>';
var listItem='';
你错过了关闭标签,其他浏览器比IE更聪明,所以它可以正常工作,但是IE不太聪明,所以你的缩略图不能在IE中点击,谢谢你,谢赫。作为一名html老手,我很不好意思错过了这一点。我忽略了这一点,因为缩略图是生成的,它们不在源代码中,否则w3验证器会给我一个提示。干杯
var listItem = '<li><a href="#" title="'+ ID +'">'+imgTag+'</li>';
var listItem = '<li><a href="#" title="'+ ID +'">'+imgTag+'</a></li>';