2010-03-21 40 views
12

這裏是交易。使用javascript將HTML追加到正文結尾

我有幾個需要在應用程序的不同點上的faceboxes(lightbox)的模板。這些存儲在不同的部分和文件中。

我會初始化不同的JavaScript函數,根據我需要哪些。問題是,使用javascript將外部HTML頁面附加到我的身體中的最佳方式是什麼?

回答

10

既然你用它來標記問題,這裏是一個jQuery解決方案。

$("body").append("text"); 

請記住,該參數也可以是一個DOM元素。所以,你可以這樣做:

var p = $("<p/>").text("a paragraph"); 
$("body").append(p); 
0

與jQuery的簡單的方法是:

$('#result').load('test.html'); 

<div id="result"><!--/ Hold My Data! /--></div> 

很明顯,你可以改變#result

+0

的感謝!這是非常有幫助的。任何想法如何可以在軌道中完成?它通常是部分(_partial.html.erb),不能被稱爲(「/ partial」) – 2010-03-22 03:31:12

+0

如果您想要使用js動態加載這些部分,您必須使用路由來公開每個部分。將'test.html'替換爲'/ path/to/my/action/to/render_partial'。或者,如果您知道需要它們,請將這些部分渲染到視圖中,並用'display:none;'將它們隱藏起來,直到您在facebox中使用它們。 – 2010-03-23 03:01:02

+0

閱讀本文http://stackoverflow.com/questions/2229811/load-partial-with-jquery-and-rails AND this http://stackoverflow.com/questions/2484958/rails-ajax-jquery-problem – 2010-03-28 11:01:59

0

你也可以嘗試一些模板庫.. 像車把和下劃線..

並附加在th ËEL由Backbone.js的提供

-1

假設你想這個網站模板中的追加,那麼你可以根據你的應用 使用下面的代碼考慮代碼

例1:

rowData += '<div style="width: 130px;">'+param1+'</div>'; 
rowData += '<div style="width: 130px;">'+param2+'</div>'; 
$('#ID').html(rowData); 

請確保js應該包含在該文件中。 這裏是可變的上述使用的信息:

行數據 - 要追加的HTML,

PARAM - 如果你要動態地顯示在瀏覽器中的Java腳本變量的值,

#ID - 股利的ID在其中要追加這個網站

例如2: 考慮下面的HTML:

<h2>Hello World</h2> 
<div class="user"> 
    <div class="inner">Hi</div> 
    <div class="inner">Bye</div> 
</div> 

您可以創建內容,並立即將其插入幾個要素:

$(".inner").append("<p>GOD IS GREAT</p>");