我原本一直以為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 | |
|