我试图通过这样做来用javascript替换div:
$("#frame").replaceWith("<script language='JavaScript' type='text/javascript'>AC_VHost_Embed(2672266,206,206,'',1,1, 2279587, 0,1,0,'912832a3e8b02d79380c8352f2d497f6',9);</script>") ;
但在控制台中,错误表示意外的令牌:ILLEGAL
有什么想法吗?
答案 0 :(得分:2)
我猜这是内联JavaScript,在这种情况下,您需要分解结束</script>
标记。我也让它更具可读性:
$("#frame").replaceWith(
"<script language='JavaScript' type='text/javascript'>"
+ "AC_VHost_Embed(2672266,206,206,'',1,1, 2279587, "
+ "0,1,0,'912832a3e8b02d79380c8352f2d497f6',9);"
+ "<" + "/script>"
);
这样做的原因是浏览器不认为字符串中的</script>
是脚本块的结尾。例如:
<script>
// Doesn't work!
alert('</script>');
</script>
您的浏览器会看到:
<script>
// Doesn't work!
alert('
</script>
');
</script>
换句话说,您的浏览器认为脚本在第一次看到</script>
时结束。你可以通过将假的</script>
分解成碎片来解决这个问题。
<script>
// Works fine!
alert('<' + '/script>');
</script>
答案 1 :(得分:0)
在呈现DOM后,将脚本标记附加到DOM将不会自动加载脚本。
看一下这个jQuery函数来加载脚本:http://api.jquery.com/jQuery.getScript/