大家好,我欲通过以下js代码使得一个层(divTest)的宽度跟一个文本框(inputTest)一致:divTest.style.width = inputTest.offsetWidth;但结果是层的宽度明显比文本框大一些,为什么,如何解决,谢谢~~

解决方案 »

  1.   

    alert(parseInt(divTest.style.width))
    alert(divTest.offsetWidth)alert(parseInt(inputTest.style.width))
    alert(inputTest.offsetWidth)看看有什么区别
      

  2.   

    我试了一下,还是不行,而且div是没有offsetWidth属性的
      

  3.   

    document.getElementById("bbb").style.width=(document.getElementById("aaa").clientWidth+document.getElementById("aaa").offsetWidth)/2+"px";
    这个可以吧
      

  4.   


    如果用clientWidth,
    divTest.style.width = inputTest.clientWidth + "px";
    则稍微好一点,但div宽度还是与文本框明显不一致。
      

  5.   

    换个思路你要层无非是想控制他的隐藏显示之类。
    你可以动态改HTML代码啊。假设她在某个<TD></TD>标签中,你个这个TD一个ID(假设为 obj)
    然后 你可以控制这个标签里的HTML代码。方法如下document.getElementById("obj").innerHTML="你所需要实现的HTML";
      

  6.   

    样式显示的问题,因为文本框默认显示有阴影,文本框和div都显示边框,并且边框都为1px,你就感觉一样宽了。
      

  7.   

    var width = inputTest.clientWidth - 2
    divTest.style.width = width + "px";