function changeSize() {
    
    var p = document.getElementsByTagName("P");
    for (var i = 0; i < p.length; i++) {
        if (p[i].childNodes.length > 0) {
            for (var j = 0; j < p[i].childNodes.length; j++) {
                if (p[i].childNodes[j].nodeName == "IMG" && p[i].childNodes[j].height > 30) {
                    var he = p[i].childNodes[j].height;//检测到图片高设置前是120
                    p[i].childNodes[j].height= 30;//这里设置完后还是120
                   
                }
            }
        }
    } 
}
   这个函数我在
请问为什么给图片设置高为30后,高还是120呢??

解决方案 »

  1.   

     if (p[i].childNodes[j].nodeName == "IMG" && p[i].childNodes[j].height > 30) {
                        var he = p[i].childNodes[j].height;//检测到图片高设置前是120
                        var imgid= p[i].childNodes[j].id;
                       document.getElementId(imgid).height= 30;//这里设置完后还是120
                       
                    }这样写试试  或者
    document.getElementId(imgid).style.height= 30;//这里设置完后还是120
      

  2.   

    getElementById  写错了 
      

  3.   

    首先.height= 30; ==》  style.height= 30+"px";    style 必须的, 加px才能兼容不同浏览器!其次: p[i].childNodes  只能获取到 p 的直接子集!<p><img></p>
    <p><a><img></a></p> 这样的是获取不到 img 对象的,只能获取到a !建议用:p[i].getElementsByTagName("img");