我有一个jQuery方法,我想追加元素$(this)。
我的代码是
$("#actions ul").append($(this));
然而,这似乎做任何事情。使用线
.append($(this).html())
的工作,但它只是抓起$(本)(一个div),而不是整个元素(一个LI)的孩子。
我可能在做一些虚无的事情,希望有人能指出这一点给我。
我有一个jQuery方法,我想追加元素$(this)。
我的代码是
$("#actions ul").append($(this));
然而,这似乎做任何事情。使用线
.append($(this).html())
的工作,但它只是抓起$(本)(一个div),而不是整个元素(一个LI)的孩子。
我可能在做一些虚无的事情,希望有人能指出这一点给我。
不知道到底是什么this
指的是,我能想到的$(this).html()
工作,而不是$(this)
的唯一原因是,前者方法创建从HTML代码,而附加$(this)
将移动元素的新元素。
看看下面的解决您的问题:
$("#actions ul").append($(this).clone());
谢谢你是我错过的.clone()函数 – 2010-11-22 23:30:29
这并不清楚$(this)
指的是什么,但是如果它是您想要的元素的子元素,那么$(this).parent()
应该获得您之后的父元素。
append()接受字符串,元素或jQuery对象,所以.append($(this).parent())就足够了。另外,附加一个jQuery对象将移动元素,而不是在$(this).parent()。html()的情况下克隆它。 – 2010-11-22 04:19:38
@ box9 - 感谢您的纠正,我没有意识到这个附加()。我已经从我的答案中删除了该部分,然后保持准确。 – mikel 2010-11-22 04:25:10
听起来像this
被设置为选择器,该选择器找到<div>
而不是<li>
。您可以更改选择器,或者像miket2e建议的那样,改用.parent()
。注意:您不应该使用.html()
,因为the .append
function可以采用HTML字符串或作为jQuery对象。
如果您发布的价值为this
,我们可以提供更具体的答案。
其实你要使用appendTo,这将抓住整个元素。
$(this).appendTo("#actions ul");
欢迎来到Stack Overflow!我们需要看到更多的代码。 $(this)从哪里来?点击事件,鼠标悬停?哪里? – 2010-11-22 03:29:27