使用添加到数组中的元素(document.getElementById('ID'))

时间:2011-05-26 06:19:06

标签: javascript

为什么这段代码不起作用?

var all_obj_element= new Array();
all_obj_element[0]= document.getElementById('Img3');            
alert(all_obj_element[0].style.width);

警告显示一个空框!

3 个答案:

答案 0 :(得分:5)

因为您没有设置宽度。以下是获取元素的计算样式值的方法:

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'));

答案 1 :(得分:2)

标识为Img3的元素尚未设置.style.width属性集(可以通过JavaScript为其分配值,或使用style属性来完成)。

Quirks Mode有一篇关于how to read the computed style in a cross-browser fashion的文章。

答案 2 :(得分:0)

如果不需要查看STYLEd宽度,只需查看宽度:

var all_obj_element= [];
all_obj_element[0]= document.getElementById('Img3');            
alert(all_obj_element[0].width);