要获取一个 div 元素的完整长度,可以使用 JavaScript 中的 offsetWidth 属性。但是,如果 div 元素的 display 属性为 none,或者被父元素的 display 属性为 none 的祖先元素包裹,那么 offsetWidth 属性将返回 0。
为了解决这个问题,可以使用以下方法:
// HTML 结构
// JavaScript
var myDiv = document.getElementById("myDiv");
var computedStyle = getComputedStyle(myDiv);
var width = computedStyle.width;
console.log(width); // 输出 "200px"
// HTML 结构
// JavaScript
var myButton = document.getElementById("myButton");
var myDiv = document.getElementById("myDiv");
myButton.addEventListener("click", function() {
setTimeout(function() {
var computedStyle = getComputedStyle(myDiv);
var width = computedStyle.width;
console.log(width); // 输出 "200px"
}, 0);
});
请注意,以上代码中的 display: none 是为了演示目的,实际应用中可能是其他隐藏元素的方式。