Javascript 使用HTMLDOM更改脚本标记的内容
当我们使用html dom时,通常会运行以下代码:Javascript 使用HTMLDOM更改脚本标记的内容,javascript,html,dom,Javascript,Html,Dom,当我们使用html dom时,通常会运行以下代码: document.getElementById('id').innerHTML='newtext' 更改标记的内容,如 然而,我用标记尝试了这一点,但它似乎不起作用。我应该试试什么 document.getElementsByTagName('script')[0]。innerHTML=“document.write('ok')”假设您有一组脚本: var scripts=document.getElementsByTagName('scrip
document.getElementById('id').innerHTML='newtext'
更改标记的内容,如
然而,我用
标记尝试了这一点,但它似乎不起作用。我应该试试什么
document.getElementsByTagName('script')[0]。innerHTML=“document.write('ok')”
假设您有一组脚本:
var scripts=document.getElementsByTagName('script')代码>
执行脚本[0]。innerHTML=“document.write('ok')”
将有效地更改脚本的内容,但不会执行脚本的新内容
解决方案很简单:
删除要更新的脚本
创建一个新脚本并将其添加到页面的正文
。它将被执行
使用正文中的待更新脚本
这等于:
document.body.removeChild(scripts[0]);
var newScript = document.createElement('script');
newScript.innerHTML = 'document.write("ok")';
document.body.appendChild(newScript);
是的,我意识到我在问题中写的代码不会执行,这是一个例子,谢谢你的解决方案。