<html>
<head></head>
<body>
<form   name="a">   
<table name="b">   
<tr name="c" >   
                <td name="d" >   
                      <select  name="e"  onchange="xx(this.parentElement.parentElement.parentElement.name)">
  <option >1</option>
  <option >2</option>
  <option >3</option>
  <option >4</option>   </select>
                </td>  
<td>&nbsp;</td>
                 
          </tr>   
  <tr>&nbsp;</tr>
      </table>   
  </form> 
 </body>
 <script language="javascript">
 function xx(a)
 {
   alert(a);
 }
 </script>
</html>
//输出undefined 为什么了? 不是应该输出b么?

解决方案 »

  1.   

    这样试试<select  name="e"  onchange="xx(this.parentElement.parentElement.parentElement.tagName)">
      <option >1</option>
      <option >2</option>
      <option >3</option>
      <option >4</option>   </select>
      

  2.   

    tagName输出  TBODY 为什么了?
    测试原来的发现以奇怪现象:参数为this.parentElement.parentElement.parentElement.parentElement.name 即多加个parentElement 竟然输出 b 奇怪了 中间怎么好象空了个??
      

  3.   

    <table>
    <tbody>
    <tr>
    <td>
      

  4.   

    哦 知道了  谢谢AWUSOFT