我有两个问题。 更重要的是如何测量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,但如果它是我唯一可以接受它的选择。
How do I retrieve an HTML element's actual width and height?中给出的答案并不奏效。即使我没有显示:没有; offsetWidth仍然显示为0。
答案 0 :(得分:0)
var rect = ulObject.getBoundingClientRect();
var ulWidth = rect.width;
如果您需要支持IE8及之前的版本,可以使用
var ulWidth = rect.right - rect.left;