2011-08-01 60 views
0

这个脚本适用于所有浏览器,但IE7 ...append()不能在IE7中工作

概述:我有一页产品(li.prod)。每个产品都有一个图像(li.prod div.mainpic img)。该图像有一个标题属性,我正在使用该标题属性将相同名称的类添加到附加内容中。然后通过使用CSS自动显示所有品牌。

$('li.prod .mainpic').each (function() { 
    var jThis = $(this); 
    var mainImages = jThis.find('img'); 

    jThis.prepend('<div class="prod-logo"></div>'); 

    var targList = jThis.find('div.prod-logo'); 

    mainImages.each(function() { 
    newClass = $(this).attr('title'); 
    targList.addClass (newClass); 
    }); 
}); 

任何人都知道适用于所有浏览器的解决方案吗?

+1

我在代码中看不到任何附加内容。除此之外,它看起来很好,但我不确定你想要完成什么。 – GolezTrol

+0

这里有些问题,您正在循环mainImages并在targList中设置类。 – ShankarSangoli

+0

也许是因为你正在预先考虑而不是追加? –

回答

0

问题是不是代码。我只需要声明变量。

var $jThis = null; 
var $mainImages = null; 
var $newClass = null; 
var $targList = null; 

$('li.prod .mainpic').each(function() { 
var jThis = $(this); 
var mainImages = jThis.find('img'); 

jThis.append('<div class="prod-logo"></div>'); 

var targList = jThis.find('div.prod-logo'); 

mainImages.each(function() { 
    newClass = $(this).attr('title'); 
    targList.addClass(newClass); 
}); 
}); 
0

我在IE Tester的IE 7模拟器中运行这个小提琴,并没有问题。试试看,让我知道它是否适合你。

版本与前面加上:

http://jsfiddle.net/jensbits/aBcVX/

版本与追加:

http://jsfiddle.net/jensbits/aBcVX/2/

版本与appendTo:

http://jsfiddle.net/jensbits/aBcVX/3/

版,经后:

http://jsfiddle.net/jensbits/aBcVX/4/

+0

我得到了一个与ie7上的PC设置,并且div不附加或预先设置。 – Buildingbrick

+0

@Buildingbrick我添加了一个appendTo和一个后面的例子作为小提琴。给他们一个尝试。 –

+0

这些工作都没有...一些IE DOM错误? – Buildingbrick