使用javascript函数生成和插入html

时间:2014-08-31 07:50:24

标签: javascript

我有以下功能:

<script>
    function generateHtml(index)
    {
       document.write('Hello ' + index);
    }
</script>

我有一个服务器端脚本生成以下html

<div><script>generateHtml(3)</script></div>
<div><script>generateHtml(4)</script></div>

希望在页面中写入Hello 3Hello 4。但是,这不会发生。相反,没有显示。这种方法有什么问题?

包裹<div>是否可以更好地选择,然后更改html而不是写入DOM?

2 个答案:

答案 0 :(得分:1)

最有可能在其他<script>块之后添加generateHtml包含函数<script>,导致

Uncaught ReferenceError: generateHtml is not defined 

确保事先添加it works as expected

答案 1 :(得分:0)

要使您的代码正常工作,您必须确保在javascript函数

之后页面上存在html
<body>
   <script>
       function generateHtml(index)
       {
           document.write('Hello ' + index);
        }
  </script>

  <div><script>generateHtml(3)</script></div>
  <div><script>generateHtml(4)</script></div>

</body>

要回答你的问题,使用id来选择DOM元素肯定是一个更好的选择。

也许是一个建议,使用一个MVVM框架,如knockout / ember / backbone / angular来做任何动态DOM操作。

这里的淘汰示例---&gt; http://jsfiddle.net/x0t8dxzw/