js代码:function getparentname(img) {
   var parentname;
   var node = img.nextSibling
   while(node) {
   if(node.nodeType == 1) {
   parentname = document.getElementById(node.id.toString()).innerHTML;  //这一行出错!
   alert(parentname);
   break;
}
node = node.nextSibling;
}
return parentname;
}HTML代码:
<li id="firsttype1"><img id="fimg1" onclick="getparentname(this)" src="image/closed.gif"></img>
<a id="fa1" href="showbooks.jsp?typename=计算机与网络" target="mainFrame">计算机与网络</a>
</li>我的这个函数是想返回<a>中“计算机与网络”的文本值,测试了下,在火狐浏览器中是可以的,但是在IE下却报“参数无效”的错误,请各位帮忙解答下,还有如果各位有比较好的方法请吧代码贴出来(不要直接通过<a>来取得!),先谢谢各位了!

解决方案 »

  1.   

    <img id="fimg1" onclick="getparentname(this)" src="image/closed.gif"></img>=><img id="fimg1" onclick="getparentname(this)" src="image/closed.gif" />
      

  2.   

    或者修改你的js 判断node是否有ID属性,或当前node 的 nodeName 是否为 a
      

  3.   

          但是不知道是什么原因?呵呵……能通过就行,这IE和FF搞的!
      

  4.   

    写法本就有问题
    可以改成 parentname=node.innerHTML;
    而且搞不懂你写这个到底想干什么 parentname是要父对象的innerHTML还是name 或者是 id性性
      

  5.   

       额……我只是取的一个变量名,要把<a>里的文本值作为参数返回给服务器,但是我只能通过<img>元素来获取!就是<a>的innerHTML