我编写了一个脚本来解析文件,获取菜单和子菜单名称并写出菜单。我想把这个菜单的html放到页面上。 innerHTML可以正常工作,但问题是我有一个额外的脚本需要在菜单上执行才能使它正常工作。我的脚本完美地使菜单的HTML,但它不适用于辅助脚本。我的猜测是因为innerHTML直接执行到DOM。我希望我用脚本创建的html字符串实际显示在源代码中。
脚本我需要与
一起运行它 <script src=""></script>
<script>
$(function() {
cbpHorizontalMenu.init();
});
</script>
我将我的脚本输出放在另一个页面中,它完美无缺。所以我很确定它的innerHTML是问题所在。
Document.write只删除整个页面。无论如何,我可以直接在div中插入html,就像document.write一样?
我之所以这样做,而不仅仅是做像php这样的事情是因为正如你所注意到的,我正在尝试在CMS(Confluence)中制作功能性的非静态菜单。
由于
答案 0 :(得分:0)
您可以设置某些内容的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
<强>更新强>
如果您只使用insertAdjacentHTML
,则可以产生beforeend
之类的效果。您可以使用body.innerHTML += "foobar"