<script>
function tdMove(){
var e=event.srcElement;
if(e.tagName!="TD")return;
var p=e.parentElement;
while(p.tagName!='TABLE')p=p.parentElement;
if (p.id != 'testTab')return;
alert('mouse on TD')
}
document.onmousemove=tdMove
</script>
<table id="testTab">
<tr><td>here</td><tr></table><table>
<tr><td>asdf</td><tr></table>

解决方案 »

  1.   

    如果要触发的函数是带参数的如change(this)也可以吗?
      

  2.   

    测试例:
    <table border>
    <tr>
    <td>1</td><td>2</td><td>3</td>
    <tr>
    </tr>
    <td>11</td><td>12</td><td>13</td>
    <tr>
    </tr>
    <td>21</td><td>22</td><td>23</td>
    </tr>
    </table>
    <span id="view"></sprn><script>
    document.onmouseover=mouseover 
    document.onmouseout=mouseoutfunction mouseover() {
      s = event.srcElement;
      if(s.tagName=="TD")
        view.innerHTML = s.innerHTML;
    }function mouseout() {
      s = event.srcElement;
      if(s.tagName=="TD")
        view.innerHTML = "";
    }
    </script>
      

  3.   


    <script>
    function tdMove(){
    var e=event.srcElement;
    if(e.tagName!="TD")return;
    alert(e.name)
            alert(e.innerHTML)
    }
    document.onmousemove=tdMove
    </script>
    <table id="testTab">
    <tr><td name='aaa'>here</td><tr></table><table>
    <tr><td>asdf</td><tr></table>
      

  4.   

    change(this)中的this不就是我所寫的e嗎
      

  5.   

    在<tr onmouseover="change(this)" onmouseout="out(this)"></tr>
    里写就可以对每个<td></td>起作用!
      

  6.   

    楼上理解错了,他就是不想在里面到处都写上onmouseover,onmouseout,是想做一个批处理那样的吧
      

  7.   

    这样写更符合你的要求
    <table border onmouseover="change(event.srcElement)" onmouseout="out(event.srcElement)">
    <tr>
    <td>1</td><td>2</td><td>3</td>
    <tr>
    </tr>
    <td>11</td><td>12</td><td>13</td>
    <tr>
    </tr>
    <td>21</td><td>22</td><td>23</td>
    </tr>
    </table>
    <span id="view"></sprn><script>
    function change(s) {
      if(s.tagName=="TD")
        view.innerHTML = s.innerHTML;
    }function out(s) {
      if(s.tagName=="TD")
        view.innerHTML = "";
    }
    </script>
      

  8.   

    我的问题解决了,以上的方法虽然不能都可以用,但也帮了不少忙,谢谢各位。现在有几个小问题,刚接触js,真的不懂。
    有parentElement这个用法,如果<td><a href="login.asp" id="lg">login</a></td>
    可以用lg.parentElement得到td,但有没有办法能过td得到lg?
    我主要是想点击td时,如同点击该链接一样。
      

  9.   

    parentElement 父节点
    childNodes 子节点数组