8
jQuery.append()的所有示例似乎都採用一個html字符串並將其附加到容器。我有一個稍微不同的用例。我的服務器將返回我,包含要顯示HTML文本,像一個XML:jQuery附加DOM
<event source="foo">
<contents>
<h1>This is an event</h1>
This is the body of the event
</contents>
</event>
我有這個地方的內容需要顯示一個div。
我的JS目前執行以下操作:
加載了XML數據轉換成的jQuery的$。阿賈克斯()成功處理程序:
VAR jData = $(數據);
查找標籤的內容,並試圖對其子女添加到應該顯示該事件的DIV:
var contents = jData.find("contents"); if(contents != null) { $(contents).children().each(function(index, value) { $("#eventDiv").append($(value)); }); }
追加()調用失敗,未捕獲的錯誤:WRONG_DOCUMENT_ERR:DOM Chrome上的例外4。調試器顯示值是一個DOM 元對象和$(值)是一個對象包含元。
任何幫助將不勝感激。
謝謝。 -Raj
感謝。克隆()似乎讓我前進。仍然,調用html()會導致錯誤:$(child).clone()。html():TypeError:無法調用未定義的方法'replace' – Raj 2010-09-09 18:08:10
實際上我使用contents()。clone(),它也包含文本節點。 – Raj 2010-09-09 18:29:45
@raj:'.html()'失敗,因爲你在這裏處理一個XML文檔,在所有情況下,jQuery不是100%適合處理XML的。 – Tomalak 2010-09-09 18:29:51