为什么jQuery 2.0.2将空样式属性添加到body

时间:2013-06-16 11:00:17

标签: jquery styles

新的jQuery 2.0.2将“style”属性添加到DOM树中的body标签。有什么特别的原因吗?

Printscreen:

enter image description here

1 个答案:

答案 0 :(得分:10)

虽然这实际上并没有影响任何事情,但它仍然是一个有效的问题。

原因是这段代码:

// Workaround failing boxSizing test due to offsetWidth returning wrong value
// with some non-1 values of body zoom, ticket #13543
jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() {
    support.boxSizing = div.offsetWidth === 4;
});

这只是对boxSizing支持的测试。 jQuery.swap()在源中描述为:

  

快速交换/输出CSS属性以获得正确计算的方法。

如果body.style.zoom != null ? { zoom: 1 } : {} zoom: 1,则

body.style.zoom会返回null,如果是body则返回空style。然后将返回的值应用于{{1}}元素,这就是它具有空{{1}}标记的原因。