繁体   English   中英

用Javascript测量div的宽度

[英]Measure div's width with Javascript

我有两个问题。 更重要的是如何测量div的宽度? 不是获取CSS值,而是在px或ems等中。 现在我这样做

document.getElementById("menu").addEventListener("click", GetWidth);
function GetWidth() {
var ulObject=document.querySelector(".dropdown-menu");
var obtainedStyle=window.getComputedStyle(ulObject);
var ulWidth=obtainedStyle.getPropertyValue("width");
console.log(ulWidth);
}

它起到了一定的作用。 问题是width的属性设置为auto,但可能会更改。 如何获得任何可用的价值?
第二个问题是如何使用类创建事件处理程序? querySelector和getElementByClassName不起作用。
我宁愿现在避免使用jQuery,但如果它是唯一的选择我会接受它。 答案如何检索HTML元素的实际宽度和高度? 不起作用。 即使我没有显示:没有; offsetWidth仍显示0。

使用getBoundingClientRect

var rect = ulObject.getBoundingClientRect();
var ulWidth = rect.width;

如果您需要支持IE8和之前的版本,您可以使用

var ulWidth = rect.right - rect.left;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM