有问题将点击元素附加到另一个元素

时间:2017-01-24 20:43:42

标签: javascript jquery

您能否看一下这段代码,让我知道为什么我无法使用jQuery将整个点击元素附加到目标?

$('button').on('click', function(){
   $(this).html().appendTo($('div'));
});
div{
  height:300px;
  width:300px;
  background:khaki;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Add Me To Box</button>

<div></div>

3 个答案:

答案 0 :(得分:1)

更改:$(this).html().appendTo($('div'));

为:

$('div').append($(this).html())

答案 1 :(得分:1)

您的问题是:

$(this).html().appendTo($('div'));

根据append,您无法使用html。相反,您可以使用clone,例如:

&#13;
&#13;
$('button').on('click', function(){
  //$(this).clone(true).appendTo($('div'));
  $(this).clone().addClass('red').appendTo($('div'));
});
&#13;
div{
  height:300px;
  width:300px;
  background:khaki;
}
.red {
  background-color: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<button>Add Me To Box</button>

<div></div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用append():

而不是appendTo

$('button').on('click', function(){
  $("div").append($(this).html() );
});
div{
  height:300px;
  width:300px;
  background:khaki;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Add Me To Box</button>

<div></div>