首页 > 解决方案 > 为什么我不能使用 JSDOM 获得 DIV 的偏移量?

问题描述

这就是我正在做的事情:

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。

标签: javascriptmocha.jsjsdom

解决方案


jsdom 没有实现布局引擎(https://github.com/jsdom/jsdom/issues/1322),因此它无法计算任何偏移量。


推荐阅读