无论如何都要获取文档.在不删除整个页面的情况下写入即可工作

Anyway to get document.write to work without deleting whole page?

本文关键字:情况下 工作 获取 文档 删除 无论如何      更新时间:2023-09-26

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

http://pastebin.com/QK1hzsKF

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

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

我把我的脚本输出放在另一个页面上,它运行得很好。所以我确信问题出在内部HTML。

Document.write只会擦除整个页面。无论如何,我可以像document.write那样直接在div中插入html?

我之所以这么做,而不仅仅是做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"