在javascript中我们经常要动态的去改变HTML中某个容器的内容,也即改变innerHTML。有些时候,不仅仅要更改innerHTML,还要在新增加的内容中再嵌入新的script。这样会有一个问题出现,有个小的实例:
 
function addInnerHTML(){
       var tmp = "?&#60";
      document.getElementById(xxx).innerHTML="function ( ' "+tmp+" ' ){....}";
 
}
 
这样的时候新增加的function中接受的依然是转义之前的字符。
 
 
所以要注意的是这样复杂的变化时,对特殊字符的转义,最好放置于最内层的innerHTML,或者更直接的,不要用这么麻烦的方法去转义,使用<xmp></xmp>包裹的文本不会被HTML解析,可以使用xmp代替手动转义。