function djj(aa){
var bbb = aa.previousSibling;
alert(bbb);
aa.style.display = "none";
bbb.style.display = "block";
}
bbb取到的是object text是一个标签类型<td align="center" valign="middle">
<span onclick="dj(this,'{<$good_list[goods].g_id>}')">{<$good_list[goods].g_name>}</span>
<input onblur="djj(this)" type="text" id="gd_name{<$good_list[goods].g_id>}" name="gd_name" style="display:none" value="{<$good_list[goods].g_name>}" />
</td>我想在鼠标移开input的时候让span显示出来这种写法,对吗?》

解决方案 »

  1.   

    代码贴的不完整, dj   good_list都不知道干嘛 的
      

  2.   

    span节点和input节点直间有文本,回车符之类的东西,这些东西都被看成是文本节点
    所以你的aa.previousSibling获取的不是span节点,而是夹在span和input之间的“文本节点”
      

  3.   

    onblur事件可不是鼠标移开时触发的哦,是在失去焦点的时候
    另外,在ff中要小心空节点
      

  4.   


    var node = aa.previousSibling;
    while(node.tagName !== 'SPAN') node = aa.previousSibling;// 加上这一句