使用javascript/dojo计算html元素(div)宽度?
通常在html中创建div时。可以使用offsetWidth或style.width(如果已声明)检查其宽度。但是,如果更改了innerHTML,使得div的宽度也发生了更改,那么这两个函数都不起作用(不确定,但在我的例子中没有) 一些代码:使用javascript/dojo计算html元素(div)宽度?,javascript,dojo,Javascript,Dojo,通常在html中创建div时。可以使用offsetWidth或style.width(如果已声明)检查其宽度。但是,如果更改了innerHTML,使得div的宽度也发生了更改,那么这两个函数都不起作用(不确定,但在我的例子中没有) 一些代码: var div = document.createElement("div"); div.innerHtml = "asdfasdfasdfasdfsdfasdfasdfad"; alert(div.style.width); // this is not
var div = document.createElement("div");
div.innerHtml = "asdfasdfasdfasdfsdfasdfasdfad";
alert(div.style.width); // this is nothing
alert(div.offsetWidth); // this is 0
如何获取上面div的宽度?无法获取未附加到文档的元素的宽度值 所以你应该把它附加到页面上,这样你就可以得到宽度
这是一个正在工作的您无法获取未附加到文档的元素的宽度值 所以你应该把它附加到页面上,这样你就可以得到宽度
这是一个有效的问题我意识到这是一个老问题,但对于许多从谷歌登陆这里的人,我会提供它 这是在Dojo1.7+中实现的方法。使用几何体模块,您可以获取并设置内容的宽度(不包括填充或边框)。这将忽略框大小
require(['dojo/dom-geometry'], function(domGeom) {
var myDivNode = dojo.query('div')[0];
var contentBox = domGeom.getContentBox(myDivNode);
alert(contentBox.w);
// This is how to set width/height
domGeom.setContentSize(myDivNode, {w: 100, h: 100});
});
来源:我意识到这是一个老问题,但对于许多从谷歌登陆这里的人,我会提供它 这是在Dojo1.7+中实现的方法。使用几何体模块,您可以获取并设置内容的宽度(不包括填充或边框)。这将忽略框大小
require(['dojo/dom-geometry'], function(domGeom) {
var myDivNode = dojo.query('div')[0];
var contentBox = domGeom.getContentBox(myDivNode);
alert(contentBox.w);
// This is how to set width/height
domGeom.setContentSize(myDivNode, {w: 100, h: 100});
});
来源:哦,我不知道。谢谢哦,我不知道。谢谢也许你会觉得有用也许你会觉得有用