我有一个jQuery方法,我想将元素$(this)追加到。
我的代码是
$("#actions ul" ).append($(this));
然而,这似乎做了什么。使用行
.append($(this).html())
确实有效,但它只抓取$(this)(div)的子元素而不是整个元素(li)。
我可能正在做一些蠢货,希望有人可以向我指出这一点。
答案 0 :(得分:7)
在不确切知道this
引用的内容的情况下,我能想到$(this).html()
工作而不是$(this)
的唯一原因是前一种方法从html代码创建一个新元素而附加$(this)
会移动元素。
看看下面是否解决了您的问题:
$("#actions ul" ).append($(this).clone());
答案 1 :(得分:0)
$(this)
引用的内容并不清楚,但如果它是你想要的元素的子元素,那么$(this).parent()
应该得到你所追求的父元素。
答案 2 :(得分:0)
听起来this
设置为选择器,可以找到<div>
而不是<li>
。您可以更改选择器,或者像miket2e建议的那样,使用.parent()
代替。注意:您不必使用.html()
,因为the .append
function可以使用HTML字符串或作为jQuery对象。
如果您发布this
的值,我们可以提供更具体的答案。
答案 3 :(得分:0)
实际上你想使用appendTo,这将抓住整个元素。
$(this).appendTo("#actions ul");