我知道这是一个重复,但我不能从其他一些答案得到它! 真的希望你能帮忙!
我只想获取元素的宽度,然后将其指定给同一元素的高度。
但我似乎无法通过宽度...... 我真的不知道为什么 - 只是得到并且“未定义”。
在元素添加到DOM之前,阅读有关js要求宽度的内容,但无论我在哪里放置“onload”,og放置js脚本,它似乎没有任何区别,我仍然可以将静态高度添加到同一个元素,但只能获得宽度!谢谢!
var width_ele = document.getElementsByClassName("image");
var width = width_ele[0].style.offsetWidth;
alert(width);
var ele = document.getElementsByClassName("image");
for (var i = 0; i < ele.length; i++) {
ele[i].style.height = 100 + "px"; // here I wanted the "100" to be the variable "width"...
}
答案 0 :(得分:4)
var width = width_ele[0].offsetHeight; // did you mean offsetWidth?
offsetHeight
/ offsetWidth
是element itself的属性,而不是其样式表。
答案 1 :(得分:2)
我已更新您的代码。
您需要使用
var width = width_ele[0].offsetWidth;
这是更新的小提琴 - http://jsfiddle.net/qL0hj4jc/4/
您应该使用.offsetWidth和.offsetHeight属性。注意它们属于元素,而不是.style。