用insertAdjacentHTML插入的js代码不能运行?

新手上路,请多包涵

题目描述

我想用insertAdjacentHTML动态添加运行js代码,通过f12可以看到js代码添加进去,但是不能运行。我把添加的js代码改成其他的html元素,也显示不了,请问是啥原因?

<html>
<head> 
<script language="JavaScript">


function iat3(){
    var obj=document.querySelector("script");
    var str1 = "<script>function tt(){alert(\"aaffa\"); }";
    //var str2 = "<h1>aaaaaaaaaaaaaaa</h1>"
    obj.insertAdjacentHTML("afterEnd",str1);
    //obj.insertAdjacentHTML("beforebegin",str2);
}
</script>
</head>
<body>
<table>

    <input type="button" value="tt()" onclick="tt()"><br>
    <input type="button" value="iat3" onclick="iat3()"><br>

</table>
 
</body>
</html>
阅读 2.5k
1 个回答

插入html如果是script不会被执行,改成其他元素显示不了因为这个元素插在了head里
https://developer.mozilla.org...
如果你需要插入一个script:

   var obj=document.createElement('script');
  obj.textContent = "function tt(){alert(\"aaffa\"); }";

  document.body.append(obj)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题