2012-11-13 70 views
3

是否有可能兩個在jQuery中結合兩個html選擇?結合jQuery的兩個html選擇

var derp1 = $('#derp1').html(); 
var derp2 = $('#derp2').html(); 

var combDerp = derp1.add(derp2); 

$('#derpina').html(combDerp); 

我想顯示HTML兩個某些部分爲一體,並在頁面的另一部分顯示出來。任何幫助,非常感謝:)

回答

5

由於你得到每個的HTML,你可以連接兩個。

$('#derpina').html(derp1 + derp2); 

或者,您可以拿走實際的節點並移動它們。

var derp1 = $("#derp1"); 
var derp2 = $("#derp2"); 

$("#derpina").html(derp1.add(derp2)); 
+0

是的! Thanx @KevinB,當你這樣說的時候,我應該早點看到這一點。這工作完美,thanx再次:) – gardarvalur

+0

我認爲你的示例變量名稱很適合這個問題... :) –

+1

呵呵,得到lov derps;) – gardarvalur

1

只要改變

var combDerp = derp1.add(derp2); 

var combDerp = derp1 + derp2; 
+0

Thanx,那工作:) – gardarvalur

1

只是將它們連接起來。

var combDerp = derp1+derp2; 
+0

Thanx,它的工作:) – gardarvalur

0

如果您嘗試附加HTML,也可以使用JQuery .Append()。

http://api.jquery.com/append/

+0

For語義的緣故:你不能「追加」HTML字符串。 jQuery創建文檔片段並在後臺添加DOM節點。 – David

+0

是的,我試着追加,但沒有爲我工作。 – gardarvalur

+0

@大衛我站在糾正和適當的如此。在簡要閱讀了API文檔後,我對它如何工作有了一個假設。閱讀你的迴應我開始證明自己是正確的,並設法做相反的事情。感謝您設置它。 –

0

如果你想要的元素移動,你應該只使用:

$('#derp1, #derp2').contents().appendTo('#derpina'); 

如果你想複製它們,你應該使用:

當然
$('#derp1, #derp2').contents().clone().appendTo('#derpina'); 
+0

DOM nodes!= html strings – David

+0

@David,你說得對,我會相應地更新我的答案。 – zzzzBov