img.onclick = function(){
         return test();
   }

解决方案 »

  1.   

    非常感谢tantaiyizu,我用你的代码测试成功了,能获取事件,但是不明白其中的道理,能告诉我是什么原因吗?
    还有就是用javascript 创建的元素为什么在源码里面看不到呢?
    非常感谢,马上就结分。
      

  2.   

    img.onclick = fn;这样的写法保证了把一个函数赋给onclick这个事件,而不是给它赋值一个字符串,因此可以成功。
    javascript创建的代码,是在js执行的过程中动态向页面中添加的,它不像jsp或者asp一样把java或者vb代码能够生成
    静态页面代码,所以你在源码里面看不见。
      

  3.   

    谢谢楼上的大哥,但是为什么我用javascript删除动态添加的节点时会出错呢,比如上一个例子,我要删除一个节点:
             var table = tableName;
            for(i=0;i<tbody.childNodes.length;i++)
            {
                if(tbody.childNodes[i].childNodes[0].childNodes[0].id == id)
                {
                    tbody.removeChild(tbody.childNodes[i]);
                    return;
                }
            }
    这个时候它会报错,提示:没有可用于当前位置的源代码。
    这又是为什么呢
      

  4.   

     var table = tableName; 
            for(i=0;i <tbody.childNodes.length;i++) 
            { 
                if(tbody.childNodes[i].childNodes[0].childNodes[0].id == id) 
                { 
                    tbody.removeChild(tbody.childNodes[i]); 
                    return; 
                } 
            } 当i=0时, if(tbody.childNodes[i].childNodes[0].childNodes[0].id == id) 为true,则删掉childNodes[0],此时tbody.childNodes.length-- 。你看到问题了么?? 只要执行过一次remove都会数组越界的
      

  5.   

    tbody.childNodes[i].childNodes[0].childNodes[0].id
    tBody.childNodes[i]:第i+1行
    tBody.childNodes[i].childNodes[0]:第i+1行第一个单元格
    tBody.childNodes[i].childNodes[0].childNodes[0]: div楼主确定Table中每个row都是这样的格式??楼主创建table的方法可真麻烦,这虽然是标准的DOM,但是,
    在javascript,对于动态创建table,有一套特定的方法:
    创建行:insertRow
    删除行:deleteRow
    行的数组:rows
    创建单元格:insertCell
    删除单元格:deleteCell
    单元格的数组:cells
      

  6.   

    虽然已经结帖,但是再帮你解决一下上个问题吧。
    其实yes555已经把问题说得比较明白了,就是数组越界的问题,
    所以你在循环时,应当使用类似于for(i=tbody.childNodes.length;i>0;i--)
    这样的方式来进行删除行的操作,并且注意循环内部要使用i-1而不是i。另外我对JGood所说的有一点异议,就是他说的方式,应该只适用于
    ie,而不适用于firefox,所以对标准浏览器的支持恐怕会有问题,
    当然也许是我记错了,现在在上班,也没有时间测试一下。
      

  7.   

    太谢谢了!!!!!
    太谢谢了!!!!!
    你解决了我放置N久没有解决的东西http://topic.csdn.net/u/20070521/13/04412356-cf62-4632-8fe4-6e0532e9c31b.html
    用javascript改变内容时为什么没有执行且不报错 
      

  8.   

    谢谢kindwell,你太伟大了