2012-06-22 470 views
0

我建立了我自己的infinitescroll類似於谷歌圖片搜索。 Everythings正常工作。我只想知道是否有另一種方式來在javascript中附加html代碼,特別是當它包含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> 

我在你的想法這等方式也有做這個有趣的。

+0

你能告訴你怎麼稱呼你的*理想*功能(即你可以進入一個 「正常」 的HTML代碼)? – sp00m

+0

@ sp00m編輯我的帖子,顯示我的意思是與普通的html代碼 –

回答

3

,你在半JS格式添加HTML的腳本標籤這樣你可以使用「JavaScript的微模板」:

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

看看John Resigs blog關於如何使用它。

+0

啊這就是我之前的意思。嗯有趣。你試過了嗎? –

+0

我有,是的,我發現它是一個很好的方法來從實際的js代碼中分離html模板。 –

+0

我會試試看。我想知道如果轉換速度快,沒​​有錯誤,尤其是當它包含像我的例子中的js時。 –

0

您可以使用jQuery的HTML功能像$("#parent_div_id").html(appenddiv);

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

1

在jQuery中,你可以使用:

.append();

.html();

+0

我知道。我只是有興趣的其他方式來附加HTML代碼。不是一般如何做到這一點。 –