我有一个像这样的jQuery:
$('#corner .photo img').each(function() {
var $img = $(this);
var h = $img.height();
var w = $img.width();
$img.css('margin-top', +h / -2 + "px").css('margin-left',+ w/ -2 + "px");
});
它适用于除IE 7和8之外的所有浏览器。在这些浏览器中,它只将新属性应用于#corner的第一个元素(这是第一个.photo img)。
如果删除#corner,它将适用于其中的“.photo img”的所有实例。但是,我无法删除id #corner,因为HTML的其他部分正在使用“.photo img”,我不希望将此jQuery脚本应用于所有。我只希望它在#corner中应用。
有没有办法解决这个问题?
修改
我的不好,显然文档中有多个具有相同名称的div,导致IE中的问题。我把它们改成了类,现在可以了。
答案 0 :(得分:0)
你可以尝试
$('#corner').find('.photo img').each(...
顺便说一句,IE不喜欢具有相同ID的多个项目。如果您以这种方式使用多个id="corner"
项,则将其更改为类,您应该没问题。