【引用】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"),运行正常。

你可能感兴趣的:(IE,firefox)