BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #10984同步于 2010/9/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

排序和链接覆盖问题

gaoshoupei
2010/9/10镜像同步8 回复
一个表格,用javascript写了个排序函数,用onclick调用,点击每一列的标题即可进行排序。 现在的问题是,对某一列的单元格的内容运用a href链接后就排不了序了。 求解?跟排序函数有关?
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
xw2423机器人#1 · 2010/9/10
贴代码吧 【 在 gaoshoupei (Inter) 的大作中提到: 】 : 一个表格,用javascript写了个排序函数,用onclick调用,点击每一列的标题即可进行排序。 : 现在的问题是,对某一列的单元格的内容运用a href链接后就排不了序了。 : 求解?跟排序函数有关? : ...................
songyancui机器人#2 · 2010/9/10
是不是你排序的时候,取内容的时候用的是 innerText,然后变成a href的话就取不到内容了,所以排不到呢?
gaoshoupei机器人#3 · 2010/9/10
额,排序函数下面 function sortTable(sTableId,iCol,sDataType){ var oTable=document.getElementById(sTableId); var oTbody=oTable.tBodies[0]; var colDataRows=oTbody.rows; var aTRs=new Array(); for(var i=0;i<colDataRows.length;i++){ aTRs.push(colDataRows[i]); } if(oTable.sortCol==iCol) { aTRs.reverse(); } else{ aTRs.sort(generateCompareTRs(iCol,sDataType)); } var oFragment=document.createDocumentFragment(); for(var i=0;i<aTRs.length;i++){ oFragment.appendChild(aTRs[i]); } oTbody.appendChild(oFragment); oTable.sortCol=iCol; }; function generateCompareTRs(iCol,sDataType){ return function compareTRs(oTR1,oTR2){ var vValue1=convert(oTR1.cells[iCol].firstChild.nodeValue,sDataType); var vValue2=convert(oTR2.cells[iCol].firstChild.nodeValue,sDataType); if(vValue1<vValue2){ return -1; } else if(vValue1>vValue2){ return 1; } else{ return 0; } }; }; function convert(sValue,sDataType){ switch(sDataType){ case "int":return parseInt(sValue); case "float": return parseFloat(sValue); case "date":return new Date(Date.parse(sValue)); default:return sValue.toString(); } }; 表格的列标题调用<td width = "100" onclick="sortTable('Table', $i)" style="cursor:pointer">标题题目</td> 表格的内容如果是<td width="100"><a href = "testbed_detail.php">具体内容</a></td>就排不了序,但是把 a href去掉是可以排的 【 在 xw2423 的大作中提到: 】 : 贴代码吧 : 【 在 gaoshoupei (Inter) 的大作中提到: 】 : : 一个表格,用javascript写了个排序函数,用onclick调用,点击每一列的标题即可进行排序。 : ...................
dickfu机器人#4 · 2010/9/10
generateCompareTRs这个函数有问题呗.. 【 在 gaoshoupei (Inter) 的大作中提到: 】 : 额,排序函数下面 : function sortTable(sTableId,iCol,sDataType){ : var oTable=document.getElementById(sTableId); : ...................
xw2423机器人#5 · 2010/9/10
如果obj.nodeType是element ,obj.nodeValue是null 所以 compareTRs函数里面 function getFTextNode(node){ return (node.nodeType==1)?getFTextNode(node.firstChild):node; } oTR1 = getFTextNode(oTR1.cells[iCol]); var vValue1=convert(oTR1.nodeValue,sDataType); oTR2同理 【 在 gaoshoupei (Inter) 的大作中提到: 】 : 额,排序函数下面 : function sortTable(sTableId,iCol,sDataType){ : var oTable=document.getElementById(sTableId); : ...................
gaoshoupei机器人#6 · 2010/9/10
学习了。。。谢谢 话说一星期的新手问个问题,那些表格里面元素的各种父子关系去哪查啊 借了本书上面啥都没有 【 在 xw2423 的大作中提到: 】 : 如果obj.nodeType是element ,obj.nodeValue是null : 所以 compareTRs函数里面 : function getFTextNode(node){ : ...................
xw2423机器人#7 · 2010/9/10
http://www.w3school.com.cn/htmldom/dom_obj_table.asp 【 在 gaoshoupei (Inter) 的大作中提到: 】 : 学习了。。。谢谢 : 话说一星期的新手问个问题,那些表格里面元素的各种父子关系去哪查啊 : 借了本书上面啥都没有 : ...................
gaoshoupei机器人#8 · 2010/9/10
额 好东西,多谢 【 在 xw2423 的大作中提到: 】 : http://www.w3school.com.cn/htmldom/dom_obj_table.asp : 【 在 gaoshoupei (Inter) 的大作中提到: 】 : : 学习了。。。谢谢 : ...................