2014-02-24 38 views
0

通常我會發現,當我操縱DOM並注入AJAX內容時,我會將AJAX內容填充到一些複製粘貼的HTML片段中,並使用新內容填充它,那麼只需將$()。html()新代碼放入DOM ...下面的例子就可以簡單地說明它。我應該動態創建HTML元素還是簡單地複製+粘貼完整片段

$.post(url, {"input1": "postval1", "input2": "postval2"}, function (r) { 
if (r.data != undefined) { 
    $("#element_id").html("<div class='class_a class_b class_c' id='some_id'><a href='" + r.data.href + "'><img src='" + r.data.src + "' /></a></div>"); 
}}, 'json'); 

雖然它總是爲我的偉大工程,我不知道這是最有效的方式(至少工作到瀏覽器/最快的),如果它是整個行業的標準程序?

+2

區別是可以忽略的。使用任何更易讀的東西。 –

+1

已經回答了:http://stackoverflow.com/questions/8461851/what-is-better-appending-new-elements-via-dom-functions-or-appending-strings-w – htatche

回答

0

不要重複自己我會說,大多數MVC框架大部分時間都是用HTML生成的。這真的是一個偏好。老實說,我會去正常的靜態路線,我只會生成需要生成的內容並將其掛在特定的類或ID上。這當然需要更多的思考工作,而且這些好處當然不是那麼重要。

真的是一個偏好的事情。此外,由於您正在生成代碼和號召性用語,因此您可能需要使用.on('event','target','function')方式來定位按鈕。

如果您傾向於將產品定製到非js瀏覽器和/或屏幕閱讀器,這可能會對您的決定有所幫助。

快樂編碼:)

+0

好的。我發現W3C DOM操作方式太臃腫,特別是如果代碼片段,就像我的情況那樣,非常複雜。我會堅持生成的HTML。 – EdNdee

相關問題