1. 程式人生 > >【轉】innerHTML與jQuery裏的html()區別介紹

【轉】innerHTML與jQuery裏的html()區別介紹

word www. 函數 利用 table ber order light syntax

http://www.jb51.net/article/31548.htm

1、

2、

innerHTML與jquery裏的html()區別介紹

轉載 2012-10-12 投稿:mdxy-dxy 技術分享圖片 我要評論

我原本一直以為innerHTML和jquery裏的html其實是完全一樣的,jquery是多此一舉了,直到我遇到一次問題

看個示例:

復制代碼代碼如下:
var tbody=document.createElement(‘tbody‘);
tbody.innerHTML=‘<tr><td>IE下tbody的innerHTML是只讀的</td></tr>‘; //在IE下報錯,目標對象錯誤

現在用jquery的html試試,
復制代碼
代碼如下:
$(tbody).html(‘<tr><td>IE下tbody的innerHTML是只讀的</td></tr>‘);
發現IE下用jquery能正確顯示了,沒任何問題。
後來查閱資料才知道,原來IE下tbody、tr這些的innerHTML都是只讀的,不允許寫入,而在其他瀏覽器下則沒問題。

而jquery裏是用了try,catch來檢測,如果報錯則在catch裏重新調用this.empty().append(value),是通過append來添加字符串的。

jquery 如何使用innerHTML

$("#responsediv") 是個Jquery對象,它Val()是對Value屬性賦值對它無意義,Jquery沒有innerHTML這個屬性,應該這樣寫$("#responsediv")[0].innerHTML=msg 就可以獲得這個Dom對象使用innerHTML。

今天在這個基礎上加上了一個後加載廣告的方法:

代碼如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <div id="logo_m"></div> <script> function doad(datastr,id){ //getid(id).innerHTML = datastr; 這個是原生js的寫法 $("#"+id).html(datastr); //這個是jquery寫法 } /* 上面的都是直接的字符串寫入,不能是js代碼 下面的代碼利用的是jquery的append加載google廣告不錯,百度的好像不能用。後加載百度的可以是用百度管家自帶的函數。
*/ function doad2(datastr,id){ $("#"+id).append(datastr); } var logo_m=‘<a href="http://www.danhw.com/" target="_blank"><img src="http://files.jb51.net/image/kongbao_370.gif" width=370 height=60 /></a>‘; doad(logo_m,‘logo_m‘); </script>

百度管家自帶的後加載廣告的代碼,基於jquery

?
1 2 3 4 5 6 <div id="tonglanbd"></div> <script type="text/javascript"> $.getScript("http://cbjs.baidu.com/js/m.js", function() { BAIDU_CLB_fillSlotAsync("廣告id,不能帶u","tonglanbd"); }); </script>

3、

4、

5、

【轉】innerHTML與jQuery裏的html()區別介紹