myTd.appendChild(opslist);  你把DIV加到了TD中去,当然会撑大表格~~~~你直接加到BODY就可以了~~

解决方案 »

  1.   

    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    <TITLE></TITLE></HEAD>
    <BODY>
    <TABLE cellSpacing=1 cellPadding=1 width="75%" border=1>
     <TR>
        <TD id=myTd><INPUT id=text1 name=text1>
    <INPUT id=button1 style="WIDTH: 17px; HEIGHT: 24px" type=button size=5 value="<>" name=button1 LANGUAGE=javascript onclick="return button1_onclick()">
    </TD>
    </TR>
    </TABLE></BODY>
    </HTML><SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
    <!--
    opslist = document.createElement("DIV")    opslist.innerHTML="aaaaaaaaaaaa";
        opslist.style.display     ='none';
        opslist.style.position    = 'absolute';
    obj = document.getElementById("text1");
        opslist.style.left        = getPosition(obj).left;
    opslist.style.top       = getPosition(obj).top+22;
    opslist.style.background  = "red";
    opslist.style.width       = "100px" 
    //opslist.style.z-index  = 1000;
        myTd.appendChild(opslist);    
        
    function button1_onclick() {   if(opslist.style.display == '' || opslist.style.display == 'none')
           opslist.style.display='block';
        else if (opslist.style.display == 'block')
    opslist.style.display='none';

      
    }
    function getPosition(obj)
    {
    var t = obj.offsetTop;
    var l = obj.offsetLeft;
    while(obj = obj.offsetParent)
    {
    t += obj.offsetTop;
    l += obj.offsetLeft;
    }
    return {left:l,top:t};
    }//-->
    </SCRIPT>