<div >
<input type="text" onclick="popDivid(this)">
</div> 
<script language="javascript">
function popDivid(evObj){
var divObj = evObj.parentNode;
alert(divObj.tagName);
}
</script>

解决方案 »

  1.   

    个人建议你写死到代码里面好了,干嘛非得动态监测呢?<div id="test" >
    <input type="text" onclick="popDivid('test')">
    </div> 
      

  2.   

    我上面说的还有些问题。
    那个input不一定是直接放在div里的
    有些还嵌套了table之类的
    有些或许嵌套了更多
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <title>Untitled Document</title>
        </head>
        <script language="Javascript">
            function popDivid(){
                var evt = window.event || popDivid.caller.arguments[0];
                var srcEl = evt.target || evt.srcElement;
                var oParNode = srcEl;
                while (srcEl) {
                    if (srcEl.tagName == 'DIV') {
                        alert(srcEl.id);
    return;
                    }
                    srcEl = srcEl.parentNode;
                }
                
                alert("not in a div !!!!");
            }
        </script>
        <body>
            <div id="div1" align="center" style="background:red;width:200px;height:100px;">
                <p>
                    <input type="text" onclick="popDivid()">
                </p>
            </div>
            <br>
            <br>
            <div id="div2" align="center" style="background:blue;width:200px;height:100px;">
                <input type="text" onclick="popDivid()">
            </div>
        </body>
    </html>
      

  4.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <title>Untitled Document</title>
        </head>
        <script language="Javascript">
            function popDivid(){
                var evt = window.event || popDivid.caller.arguments[0];
                var srcEl = evt.target || evt.srcElement;
                var oParNode = srcEl;
                while (srcEl) {
                    if (srcEl.tagName == 'DIV') {
                        alert(srcEl.id);
                        return;
                    }
                    srcEl = srcEl.parentNode;
                }
                
                alert("not in a div !!!!");
            }
        </script>
        <body>
            <div id="div1" align="center" style="background:red;width:200px;height:100px;">
                <p>
                    <input type="text" onclick="popDivid()">
                </p>
            </div>
            <br>
            <br>
            <div id="div2" align="center" style="background:blue;width:200px;height:100px;">
                <input type="text" onclick="popDivid()">
            </div>
        </body>
    </html>
      

  5.   

    <div >
    <input type="text" onclick="popDivid(this)">
    </div> 
    <script language="javascript">
        function popDivid(evObj){
            var divObj = evObj.parentNode;
            alert(divObj.tagName);
        }
    </script>