似乎当我使用 jQuery 的addClass
函数添加一个带有 2px 边框的类时,它有时会返回旧值,而不是在 iframe 中输出 css 时返回新值。我认为这种情况仅在某些时候发生,因为添加类的速度有多快。例如:
样式表:
.testBorder {
border: 2px solid #000;
}
JavaScript:
var iframe = $('#contentFrame').contents();
var obj = $('#someObj',iframe);
obj.addClass('testBorder');
console.log(obj.css('border-top-width'));
console.log(obj.css('border-left-width'));
输出的边框值通常是 0 而不是 2px。我可以做类似的事情:
obj.delay(500).queue(function(){
console.log($(this).css('border-top-width'));
console.log($(this).css('border-left-width'));
$(this).dequeue();
});
但是希望在添加类后立即应用它,因为我使用这些值正确定位,看起来不像它的跳跃。
CSS 正在被应用并被反映,所以我知道它正在更新并且不会被另一种样式覆盖。
我使用的 jQuery 版本是 1.10.2 和 jQuery Migrate v1.2.1,我使用的是 jQuery UI。