[前端填坑]jQuery.html()方法ie下不能设置html代码的问题


 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的,如:<scriptsrc="Stone.js" type="text/javascript"></script> 这种情况下,设置html代码无效。

    b) 被设置的html代码中包含js 方法的,如:functionStone(){ alert("我叫MT"); },设置html代码无效。

    c) 被设置的html代码中有css 样式的,如:.Stoneul 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引用和代码即可解决。

 

替代方法

$("#content").html(data.content);

$("#content")[0].innerHTML =data.content;



猜你喜欢

转载自blog.csdn.net/zhoujun8066/article/details/80738189