解决innerHTML时JS不生效

写了一个简单的函数..作用是解决innerHTML时JS不生效..基于网上某个类修改...

兼容ie6+..Firefox..其它未测!

function set_innerHTML(el, htmlCode) {  
     var ua = navigator.userAgent.toLowerCase();  
      if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {  
          htmlCode = '<div style="display:none">for IE</div>' + htmlCode;  
          htmlCode = htmlCode.replace(/<script([^>]*)>/gi,'<script$1 defer>');  
          el.innerHTML = htmlCode;  
          el.removeChild(el.firstChild);  
      } else {
          var html = htmlCode.replace( /<script[^>]*>([\s\S]*?)<\/script>/mgi, "" );
          var code = htmlCode.replace( /[\s\S]*?<script[^>]*>([\s\S]*?)<\/script>[\s\S]*?/mgi, "$1" );
		  //.和[\s\S] 不一样
          el.innerHTML = html;
		  var wc = T$('wc1217');
		  if(wc)
		  	wc.parentNode.removeChild(wc);
		  script = document.createElement("script");
		  script.defer = true;
          script.type = "text/javascript";
		  script.id = "wc1217";
		  script.text = code;
		  setTimeout(function(){document.getElementsByTagName('body').item(0).appendChild( script )},1000);
     }  
} 
//T$就是document.getElementByid


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值