2017-08-11 24 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>