http://jsfiddle.net/suenot/3b3XM/1/

// in FF and IE each() don't work offset()
// $(this).offset().top return empty string
$(document).ready(function(){
    var index = 0;
    $('.box').each(function(){
        var background = $(this).css('background');
        $(this).css('background', 'none');
        var height = $(this).css('height');
        var top = $(this).offset().top;
        $('body').prepend('<div id="box' + ++index + '"></div>');
        $('#box' + index).css({
            'height': height,
            'background': background,
            'position': 'absolute',
            'z-index': '-1',
            'top': top,
            'width': '100%'
        });
    });
});​


请帮助我,我找不到解决方案。

最佳答案

我不确定$(this).css('background-color');是否是您想要的,但是更新后会显示该框。查看fiddle中的输出

$(document).ready(function(){
    var index = 0;
    $('.box').each(function(){
        var background = $(this).css('background-color');
        $(this).css('background', 'none');
        var height = $(this).css('height');
        var top = $(this).offset().top;
        $('body').prepend('<div id="box' + ++index + '"></div>');
        $('#box' + index).css({
            'height': height,
            'background': background,
            'position': 'absolute',
            'z-index': '-1',
            'top': top,
            'width': '100%'
        });
    });
});

关于javascript - jQuery offset()在Firefox 12中的each()中返回空字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10539524/

10-11 23:19
查看更多