有一个table表,其中有两行,每行都是由一个值,一个按钮组成。
当我点击某行的按钮时,把按钮当前的行的第一列的值显示出来。
(可以不通过给单元格id赋值实现吗?)

解决方案 »

  1.   


    <script language="javascript">
    window.onload = function(){
    var a = document.getElementById("tbl").getElementsByTagName("input");
    for(var i=0;i<a.length;i++){
    a[i].onclick = function(){
    var node = this.parentNode.previousSibling;
    alert(node.innerHTML)
    }
    }
    }
    </script>
    <table id="tbl">
    <tr><td>1</td><td><input type="button" ></td></tr>
    <tr><td>2</td><td><input type="button" ></td></tr>
    <tr><td>3</td><td><input type="button" ></td></tr>
    </table>
      

  2.   

    onclick=function(){
    var td=this.parentNode,tr=td.parentNode,table=tr.parentNode.parentNode;
    alert(tr.cells[0].innerHTML);
    };
      

  3.   

    function getParentRow(obj)
        {
            var r= obj.parentNode;
            while( r.tagName)
            {
                if(r.tagName=="TR"){
                    return r;
                }
                r= r.parentNode;
            }  
            return null; 
        }window.onload = function(){
        var a = document.getElementById("tbl").getElementsByTagName("input");
        for(var i=0;i<a.length;i++){
            a[i].onclick = function(){
                var row= getParentRow(this);
                if(row!=null){
    alert(row.cells[0].innerHTML); // row.cells[0] 每列的值都可以获取}
            };
        }
    }