2017-08-11 28 views
-2

我試圖在點擊某個按鈕後,將一個h1元素(即已經在HTML中)追加到div中。它應該很容易,但對於我的生活,我無法弄清楚爲什麼這不起作用。無法將已存在的h1追加到另一個div中

$('button').on('click', function() { 
 
    $('div').append($('h1')); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<button type="button"></button> 
 
<h1>lorem ipsum</h1> 
 
<div></div>

我知道我可以直接添加一個新的h1到DOM,但我想追加一個已經存在的HTML,因爲它是在實際的項目非常有活力。

任何想法,爲什麼它不工作?

+0

此外,當我試圖表明它在警報....警報($( 'H1')); ....它顯示[對象對象] –

+0

什麼意思是不工作,你檢查發生了什麼? – guradio

+0

選擇器'$('button')'是否返回1個或更多結果? – onetwo12

回答

1

你應該嘗試克隆它

$('div').append($('h1:first').clone()); 
+0

沒有問題:)我說:第一,因爲也許你想複製的H1總是第一,但考慮添加一個ID和使用$('#id')。clone()。removeProp('id') –

0

$('button').on('click', function(){ 
 
    
 
    //get h1 content with parent container 
 
    var htmlCont = $('h1').wrap('<p/>').parent().html(); 
 
    $('h1').parent().remove(); 
 
    
 
    /* 
 
    //get h1 content and append it 
 
    var htmlCont = $('h1').html(); 
 
    $('h1').remove(); 
 
    */ 
 
    
 
    $('div').append(htmlCont); 
 
    
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
    <button type="button">tes</button> 
 
    <h1>lorem ipsum</h1> 
 
    <div></div>