jQuery一般來說還是很好用的,但有時候它也會有些問題的,比如jQuery的html()方法設定html代碼,在一種情況下,ie6、ie7、ie8 下是不能設定html代碼的。本文說的問題隻針對ie8(包括ie8)以下的浏覽器。
1.什麼情況下IE6、IE7、IE8 jQuery.html("xxx")方法會設定不上html代碼?
答:當被加載的的html代碼裡面出現以下情況,ie8(包括ie8)以下是設定不上html代碼的:
a) 被設定的html代碼中包含引用其他js的,如:<script src="Stone.js" type="text/javascript"></script> 這種情況下,設定html代碼無效。
b) 被設定的html代碼中包含js 方法的,如:function Stone(){ alert("我叫MT"); },設定html代碼無效。
c) 被設定的html代碼中有css 樣式的,如:.Stone ul li{ list-style:none;float:left; }等,設定的html代碼無效。[附加:被設定的html代碼中如果包含引用其他外部
樣式的,比如:<link href="../Css/style.css" rel="stylesheet" type="text/css" />,雖然不會影響html設定,但是被引用的css是無效的,是沒有樣式的。]
2.原因分析:
答:被設定的html,jQuery隻是單純的解析為html,不會去理會其他的因素和代碼,所有導緻上述問題的出現。
3.解決方案:
答:去掉被設定的js引用css引用和代碼即可解決。
本文轉自王磊的部落格部落格園部落格,原文連結:http://www.cnblogs.com/vipstone/archive/2011/09/08/2171168.html,如需轉載請自行聯系原作者