Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript函数生成和插入html_Javascript - Fatal编程技术网

使用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”(我在演示中省略了它),这似乎是导致问题的原因。我想,我将转而使用选择器解决方案。谢谢