2012-03-24 59 views
1

這就是我想要做的事:如何將jQuery對象轉換爲XML/HTML?

$('<abc/>').append('<x/>').html() 

我希望它是:"<abc><x/></abc>"。我錯了嗎?

+0

內容請進一步解釋,你的問題讓0感覺現在 – SpYk3HH 2012-03-24 05:11:07

+0

我試圖建立從jQuery的HTML元素。我只需要構建這個文本:''(例如)。 – yegor256 2012-03-24 05:12:27

+0

使用innerHtml幫助嗎? – 2012-03-24 05:20:19

回答

2

你可以擁抱在父容器的元素作爲這樣的一個例子:

$('<div>').append($('<abc/>').append('<x/>')).html() 

你會得到你想要的結果:

http://jsfiddle.net/tuTAK/2/

+0

謝謝你,你是對的。但它不適用於XML + XSL。看起來我的問題在別的地方。 – yegor256 2012-03-24 05:20:37

+0

好運yegor – 2012-03-24 05:23:28

+0

這是完整的問題:http://stackoverflow.com/questions/9834487。如果你添加你的代碼,你會看到這個問題 – yegor256 2012-03-24 05:24:42

0

你應該添加一個id屬性到您的ABC標籤

<abc id="AbcId"> 

和引用這樣的:

$('#AbcId').append('<x/>') 
+0

他沒有引用已存在的元素。他想創建一個新元素$('')。 – craftsman 2012-03-24 05:12:45

+0

我沒有HTML頁面,我正在創建動態jQuery元素。你錯誤理解了這個問題 – yegor256 2012-03-24 05:13:20

+0

好的,我明白了。道歉誤解。 – nightshifted 2012-03-24 05:25:43

0

的.html()返回所選對象的子元素。在你的情況下,它應該返回此:

<x></x> 

如果你想擺脫的HTML,你可以編寫一個簡單的函數:

$.fn.outerHTML = function() { 
    return $('<div>').append(this.eq(0).clone()).html(); 
}; 

現在,如果你重新寫有outerHTML代碼() :

$('<abc/>').append('<x/>').outerHTML(); 

你會得到這樣的:

<abc><x><x/></abc> 
0

在這種情況下,我想你有什麼是接近正確的,例如,建立一個帶有標題的div,標題爲「標題」;

$("<div />").append($("<h1 />").text("Title"))

或一些文字後,用AP元素一個div中有一個鏈接

$("<div />").append($("<p />").text("Mail Me Here:").append($("<a />").attr("href", "mailto:[email protected]").text("[email protected]")))

它在考慮

[email protected]"))).appendTo($("body"))

保留追加到身體你也可以.prepend和.prependTo元素

見從追加新的數據表中的行作爲

found in this fiddle i made for another answer

+0

然後呢? '的.html()'? – yegor256 2012-03-24 05:15:46

+0

然後什麼也沒有,除非你想把它附加到 – SpYk3HH 2012-03-24 05:19:04

0
$("<abx>").append("<x/>")[0].outerHTML 

結果:

"<abx><x></x></abx>" 

的.html()只輸出的

$("<abx>")