0

使用 webkit 时,我无法读取外部 css 护套设置的值。

$(document).ready(function() {
    var plate = $(document.createElement('div'))
            .css({'overflow': 'hidden',
                  'display': 'inline-block'})
            .attr('class', $(this).attr('class'))
            .addClass('bbFormerPlate');
    console.log(plate.css('paddingRight'));
    console.log(plate.css('paddingBottom'));
});

Chrome 中的控制台什么也没有显示。只是一个空行。火狐没有问题。经过测试的 Safari (Windows) 也无法正常工作,这让我相信问题出在 webkit 上。

我试图将它添加到页面上已经定位的另一个元素中,看看是否有什么不同。

 $(positionedElement).wrap(plate);

不用找了。仍然不能在 Webkit 上工作,但可以在 FF 上工作。

样式声明:

.bbFormerPlate {
    padding: 2px 15px 2px 5px;
    font-size: 10px;
}

该样式实际上应用于页面上显示的元素,但脚本无法读取该值。我不记得我以前遇到过这个问题。

任何帮助,将不胜感激。

4

1 回答 1

1

在您的示例中,您没有在 dom 中插入元素,请检查此(工作)

$(document).ready(function() {
    var plate = $('<div></div>')
        .css({'overflow': 'hidden',
              'display': 'inline-block'})
        .attr('class', $(this).attr('class'))
        .addClass('bbFormerPlate');
        $('body').append(plate); // added this line

    console.log(plate.css('paddingRight'));
    console.log(plate.css('fontSize'));
});​

演示。

于 2012-07-26T16:56:28.610 回答