使用jQuery解决IE与FireFox下createElement方法的差异


当我们需要动态生成DOM对象的时候,会使用createElement的方法创建 。但是在IE和Firefox下,createElement方法是有差异的 。

在 IE 中,可以使用以下两种方式来创建一个元素:

1、document.createElement(table)

2、document.createElement(<table border="0">)

而在 Firefox 只支持:

document.createElement(table)

同时,如果添加属性和事件的话,需要使用setAttribute方法

示例:

复制代码 代码如下:

if($.browser.msie){
  var rowHtml = <span class="ellipsis" onclick=";
  rowHtml += _showNotice(/;
  rowHtml += id
  rowHtml += /,/;
  rowHtml += titlePre;
  rowHtml += /)";
  rowHtml += ">";
  rowHtml += "</span>";

  row = $(document.createElement(rowHtml)).text(data.Title);
 }else if($.browser.mozilla){
  var el = document.createElement("span");
  el.setAttribute("onclick","_showNotice(/" + id + "/,/" + titlePre +"/)");

  row = $(el).text(data.Title);
 }else if($.browser.safari){

 }else if($.browser.opera){

 }else{

 }