有关于火狐浏览器 appendChild(可能)的问题 本帖最后由 baocai001 于 2012-06-07 20:55:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //var tbdnode = tabnode.childNodes[0];var tbdnode = tabnode.getElementsByTagName('tbody')[0];childNodes的兼容性问题。IE会忽略文档中的不可见的空白符(回车、换行、空格、TAB等),标准浏览器下会将这些空白符作为文本节点,所以tabnode.childNodes[0]实际上获取到的是一个文本节点。(因为html代码中<table>、<tr>标签之间有换行、tab等符号)。 1楼正解,还有一点需要注意,如果年龄列没有html标签,推荐用innerHTML(innerText在早期的火狐中不被支持,火狐支持的是textContent),改写了一下排序方法var sortId=1;function sorttable(){ var table=document.getElementsByTagName("table")[0], tbody, trs=table.rows, trHead=trs[0], rows=[], i=1, len=trs.length; if(len<=2) return; tbody=trHead.parentNode; for(;i<len;i++){ rows.push(trs[i]); } //数组自带排序 rows.sort(function(tr1,tr2){ //执行减法操作时会自动执行类型转换 return getAge(tr1)-getAge(tr2)>0?sortId:-sortId; }); sortId=-sortId; for(i=0,len=rows.length;i<len;i++){ tbody.appendChild(rows[i]); } }function getAge(tr){ return tr.cells[1].innerHTML; //return tr.cells[1].innerText||tr.cells[1].textContent;} LZ是看黑马程序的视频么 我也在看,发现里面有的方法都是只针对IE6的 如何使用javascript去处理一个大于50M的xml 滚动条事件 firefox下如何实现document.all的功能啊? 弹出窗口控制框架 如何替换<>里面内容的指定字符串. IE里面的页面设置老是自动变成36为什么呀?! 如何在脚本中调用客户端的控件,从而是客户可以操作自己计算机上的文件? 如何隐藏javascript脚本? s:radio问题 JS中文字旋转问题 谁可以帮小妹逐句解释一下下面这段javascript代码的含义,100分赠送 怎么判断鼠标从什么方向进入一个元素呢?
var tbdnode = tabnode.getElementsByTagName('tbody')[0];childNodes的兼容性问题。IE会忽略文档中的不可见的空白符(回车、换行、空格、TAB等),标准浏览器下会将这些空白符作为文本节点,所以tabnode.childNodes[0]实际上获取到的是一个文本节点。(因为html代码中<table>、<tr>标签之间有换行、tab等符号)。
var sortId=1;
function sorttable(){
var table=document.getElementsByTagName("table")[0],
tbody,
trs=table.rows,
trHead=trs[0],
rows=[],
i=1,
len=trs.length; if(len<=2) return;
tbody=trHead.parentNode;
for(;i<len;i++){
rows.push(trs[i]);
}
//数组自带排序
rows.sort(function(tr1,tr2){
//执行减法操作时会自动执行类型转换
return getAge(tr1)-getAge(tr2)>0?sortId:-sortId;
});
sortId=-sortId; for(i=0,len=rows.length;i<len;i++){
tbody.appendChild(rows[i]);
}
}function getAge(tr){
return tr.cells[1].innerHTML;
//return tr.cells[1].innerText||tr.cells[1].textContent;
}