王洪亮(Stephen) 2010-04-07 09:18
浏览 284
已采纳

关于JS在IE与FF里兼容的问题

下面这段代码在FF里正常的,但是在IE下不能正常显示,请问是哪段有问题
[code="java"]function goright() {
alert("aa");
var boxes = document.getElementsByName("checka");
var taba = document.getElementById("ta");
var tabb = document.getElementById("tb");
var cou = new Array();
var j = 0;

alert(boxes.length);
for (var i = 0; i < boxes.length; i++) {
    if (boxes[i].checked) {
        cou[j] = i;
        j++
    }
}
for (var i = 0; i < cou.length; i++) {
    if (cou[i] - i < taba.rows.length) {
        var a = tabb.insertRow(tabb.rows.length);
        a.innerHTML = taba.rows[cou[i] - i].innerHTML;
        taba.deleteRow(cou[i] - i);
    }
}

}[/code]
其中checka是一组checkbox,ta tb分别是2个table,这个方法的目的是把选中的a表中的tr移动到b表中,在ff下正常,IE下就不好用了,大家帮忙看下谢谢

  • 写回答

3条回答 默认 最新

  • iteye_17523 2010-04-07 11:42
    关注

    标签在JS中并不是作为一个一般的HTMLObject来处理,在IE中并没有innerHTML属性,所以无法使用innerHTML。而且如果表a ,表b的列数不同的话,这样操作也会带来问题。
    我简单修改了一下你的代码。可以在FF以及IE8下正常运行。你可以参考下。
    [code="java"]<br> function goright() {<br> var boxes = document.getElementsByName(&quot;checka&quot;);<br> var taba = document.getElementById(&quot;ta&quot;);<br> var tabb = document.getElementById(&quot;tb&quot;);<br> var cou = new Array();<br> var j = 0;</p> <pre><code>for (var i = 0; i &lt; boxes.length; i++) { if (boxes[i].checked) { cou[j] = i; j++; } } for (var i = 0; i &lt; cou.length; i++) { if (cou[i]-i&lt; taba.rows.length) { var a = tabb.insertRow(tabb.rows.length); for(var j = 0; j &lt; taba.rows[cou[i]-i].cells.length; j++){ a.insertCell(a.cells.length); a.cells[a.cells.length-1].innerHTML = taba.rows[cou[i]-i].cells[j].innerHTML; } taba.deleteRow(cou[i] - i); } } </code></pre> <p>}<br> [/code]
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度