通过javascript动态附加html代码

时间:2012-06-22 09:55:52

标签: javascript jquery html

我建立了自己的infinitescroll,类似于谷歌图片搜索。 Everythings工作正常。我只是想知道是否有另一种方法可以在javascript中附加html代码,特别是当它包含多行包括javascript函数时。

此刻它就像这样松了一口气:

appenddiv += '<div class="actbtn">'+
        '<a href="javascript:void(0)" onclick="OWNER.feedaction(\''+feedid+'\','action_delete')">'+
              '<img id="delicon_'+feedid+'" src="images/icons/delete.gif" title="'+delete_text+'">'+
        '</a>'+
 '</div>';

还有另一种方法可以做到这一点,因为这只是一个非常小的例子。我想到了一个函数,我可以输入“普通”的html代码而没有引号'和+转义'等等,然后得到上面的格式化代码。

普通代码:

<div class="actbtn">
       <a href="javascript:void(0);" onclick="OWNER.feedaction('{$profile_actions[actions_loop].action_id}','action_delete')">
           <img id="delicon_{$profile_actions[actions_loop].action_id}" src="images/icons/delete.gif" title="my text" />
        </a>
</div>

我对你的想法感兴趣,还有其他方法可以做到这一点。

3 个答案:

答案 0 :(得分:3)

你可以使用“JavaScript Micro-Templating”,你可以用半js格式在脚本标签中添加html,如下所示:

<script type="text/html" id="user_tmpl">
  <% some js %>
  some html
</script>

请查看John Resigs blog如何使用它。

答案 1 :(得分:1)

在Jquery中,您可以使用:

.append();

.html();

答案 2 :(得分:0)

您可以使用jquery html函数,例如$("#parent_div_id").html(appenddiv);

$("#parent_div_id").append(appenddiv);