这就是我在做什么:
var mocha = require('mocha');
mocha.describe('div', function() {
mocha.it('positions', function() {
document.body.innerHTML = '<div style="left:55px;position:absolute;" id="d">x</div>'
var div = document.getElementById('d');
var rect = div.getBoundingClientRect();
console.log('Left: ' + rect.left);
}
}
我明白了:
Left: 0
应该是55岁,不是吗?我正在使用jsdom / 16.2.2,jsdom-global / 3.0.2,mocha / 6.1.4。
jsdom没有实现布局引擎(https://github.com/jsdom/jsdom/issues/1322),因此它无法计算任何偏移量。
根据getBoundingClientRect method的来源,它只是一个存根。换句话说,此方法不进行任何计算。