项目中,涉及到有一部分js代码是从数据库中读取出来动态加载到一个<script>标签中的情况。使用到了jquery的append()和html()两个函数。
应用场景如下:
页面端,有一个预留的script标签,用于向里面写入动态的js内容
<script type="text/javascript" id="dynamicScript"></script>
主js文件里,动态加入js的代码
var strExtScript = "";//初始化内置事件js代码块 if (tbreport.JsFun != null && tbreport.JsFun != "") { strExtScript += tbreport.JsFun; } $("#dynamicScript").html(strExtScript);//添加js,注意此处不能使用append()方法添加内容
以上设置标签dynamicScript的内容为读取的js字符串,请使用html()方法来赋值。
原因:当需要添加的js字符串中含有<span>或<div>等一系列html标签时,在通过append()方法添加时会被屏蔽掉,具体原因不知。