为什么此代码不起作用?使用添加到数组的元素(document.getElementById('ID'))
var all_obj_element= new Array();
all_obj_element[0]= document.getElementById('Img3');
alert(all_obj_element[0].style.width);
该提示显示一个空框!
为什么此代码不起作用?使用添加到数组的元素(document.getElementById('ID'))
var all_obj_element= new Array();
all_obj_element[0]= document.getElementById('Img3');
alert(all_obj_element[0].style.width);
该提示显示一个空框!
因为您尚未设置宽度。这里是你如何获得元素的计算样式值:
var computedStyle = function (el,style) {
var cs;
if (typeof el.currentStyle != 'undefined'){
cs = el.currentStyle;
}
else {
cs = document.defaultView.getComputedStyle(el,null);
}
return cs[style];
}
现在,让我们的价值:
var element = document.getElementById('Img3');
alert(computedStyle(element,'width'));
@hamze计算的样式是处理样式表或行样式时计算的值 – Ibu 2011-05-26 06:24:06
ID为Img3
的元素尚未具有其.style.width
属性集(可通过通过JavaScript为其分配值或使用style
属性来完成)。
怪癖模式有一篇关于how to read the computed style in a cross-browser fashion的文章。
链接是有帮助的;) – hamze 2011-05-26 06:36:01
如果没有需要看风格的宽度,只看宽度:
var all_obj_element= [];
all_obj_element[0]= document.getElementById('Img3');
alert(all_obj_element[0].width);
它们具有不同的值 – hamze 2011-05-26 06:37:15
请发布您的完整html代码 – 2011-05-26 06:21:17
您是否试过.width而不是style.width? – mplungjan 2011-05-26 06:23:46