gpt4 book ai didi

javascript - 无论如何要让 document.write 工作而不删除整个页面?

转载 作者:行者123 更新时间:2023-11-28 08:40:22 24 4
gpt4 key购买 nike

我编写了一个脚本来解析文件,获取菜单和子菜单名称并写出菜单。我想把这个菜单的html放到页面上。 innerHTML 对此工作得很好,但问题是我有一个额外的脚本需要在菜单上执行才能使其正常工作。我的脚本使菜单的 HTML 完美,但它不适用于辅助脚本。我的猜测是因为innerHTML 直接执行到DOM。我希望用脚本创建的 html 字符串实际显示在源代码中。

http://pastebin.com/QK1hzsKF

我需要将其与脚本一起运行

    <script src=""></script>
<script>
$(function() {
cbpHorizontalMenu.init();
});
</script>

我将脚本的输出放在另一个页面中,它运行得很好。所以我很确定innerHTML 就是问题所在。

Document.write 只是删除整个页面。不管怎样,我可以像 document.write 一样直接将 html 插入到 div 中吗?

我这样做而不是仅仅做 php include 之类的事情的原因是因为正如您所注意到的,我正在尝试在 CMS (Confluence) 中制作功能性的非静态菜单。

谢谢

最佳答案

您可以设置某些内容的innerHTML,或者使用insertAdjacentHTML向页面添加某些内容。示例:

body = document.getElementById("body");
body.innerHTML = "foo"; //this is what is inside of "body"
body.insertAdjacentHTML('beforeend', "bar");

那么,body的内容将是foobar

以下是更多信息的链接:https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML

更新如果您仅使用 beforeend,则可以实现类似 insertAdjacentHTML 的效果。您可以使用 body.innerHTML += "foobar"

关于javascript - 无论如何要让 document.write 工作而不删除整个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20555437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com