`
zithan
  • 浏览: 176233 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

【引用】js中firefox,ie兼容

阅读更多

【引用】js中firefox,ie兼容

2011-03-24 13:41:23|  分类: 默认分类 |  标签:|字号 订阅

本文引用自竹林之音《js中firefox,ie兼容》
1.动态给添加行,其中第一列放checkbox
  var tbl = document.getElementById("aclTbl"); (通过id获得table) 
  //插入一行
  var rowsLen = tbl.rows.length;
  var row = tbl.insertRow(rowsLen);
  aa. firefox写法:
     var chkbox = document.createElement("input");
     chkbox.type = "checkbox";
     chkbox.name = "checkbox_index";
     chkbox.value = rowsLen;
     cell = row.insertCell(0);
     cell.appendChild(chkbox);
     row.appendChild(cell); 
  bb. ie写法:
    var chkbox = document.createElement("<input type='checkbox' name='checkbox_index' value='" + rowsLen +   "'/>");  
    cell = row.insertCell(0);
    cell.appendChild(chkbox);
    row.appendChild(cell);
 cc. 兼容写法:
    var chkbox= document.createElement("td");
    chkbox.innerHTML = "<input type='checkbox' name='checkbox_index' value='" + rowsLen + "'/>";
    cell = row.insertCell(0);
    cell.appendChild(chkbox);
    row.appendChild(cell); 

2.动态修改表格本内容
   tbl.rows[row_index].cells(1).innerHTML = acl_protocol;    // ie支持,firefox不支持
   tbl.rows[row_index].cells[1].innerHTML = acl_protocol;    // ie,firefox兼容

3. ie支持直接通过id找到元素,firefox必须通过document.getElementById(idName)找到元素。

4. 当同名checkbox只有一个的时候,在firefox中document.getElementById(checkbox_name).length=undifined.在IE中测试时,document.getElementById(checkbox_name).length有时为1,有时为undifined,不知是什么原因。

5.在IE中经常定义var $ = document.getElementById,后面就用$代替document.getElementById,如var temp = $("test");。我在firefox中使用这种方法提示错误,后来将var temp = $("test")改为var temp = document.getElementById("test"),运行正常。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics