使用javascript函数生成和插入html
我有以下功能:使用javascript函数生成和插入html,javascript,Javascript,我有以下功能: <script> function generateHtml(index) { document.write('Hello ' + index); } </script> 函数生成器HTML(索引) { document.write('Hello'+索引); } 我有一个服务器端脚本生成以下html <div><script>generateHtml(3)</script>&l
<script>
function generateHtml(index)
{
document.write('Hello ' + index);
}
</script>
函数生成器HTML(索引)
{
document.write('Hello'+索引);
}
我有一个服务器端脚本生成以下html
<div><script>generateHtml(3)</script></div>
<div><script>generateHtml(4)</script></div>
generateHtml(3)
generateHtml(4)
希望Hello 3
和Hello 4
能被写入页面。然而,这并没有发生。相反,没有显示任何内容。这种方法有什么问题
是否最好包装
是一个可以选择的id,然后更改html而不是写入DOM?最有可能的是包含函数的
被添加到其他
块之后,导致
Uncaught ReferenceError: generateHtml is not defined
确保它是预先添加的,以便。为了让代码正常工作,您必须确保html在javascript函数之后出现在页面上
<body>
<script>
function generateHtml(index)
{
document.write('Hello ' + index);
}
</script>
<div><script>generateHtml(3)</script></div>
<div><script>generateHtml(4)</script></div>
</body>
函数生成器HTML(索引)
{
document.write('Hello'+索引);
}
generateHtml(3)
generateHtml(4)
为了回答您的问题,使用id选择DOM元素肯定是一个更好的选择
也许有一个建议,使用一个MVVM框架,比如knockout/ember/backbone/angular来进行任何动态DOM操作
这里的击倒示例--->为什么要使用这种方法?您可以通过服务器端脚本直接生成HTML。原因是,这只表示持久化状态。在我的应用程序中,有两种状态(空闲和被占用),在这两种状态之间会有一些ajax进行更改。通过javascript来实现这一点,我希望避免在这两个州重复html。谢谢你的帮助。事实证明,我的代码中有一个“text/javascript”(我在演示中省略了它),这似乎是导致问题的原因。我想,我将转而使用选择器解决方案。谢谢