2011-11-18 77 views
1

我有一个jQuery对象(名为wid),有一个类似的代码的特定部分:jQuery的 - .appendTo对象

<li class='widget'> 
    <div class='widget-head'> 
     <h3>head</h3></div> 
    <div class='widget-content'> 
     <p>LINE1</p> 
     <p>LINE2</p> 
    </div> 
</li> 

我想要的内容的最后一行后追加<p>LINE3</p>。目前,我这样做:

var content = $('.widget-content'); 
var $newItem = $('<p>LINE3</p>').appendTo($(content).last(), wid); 

但问题是,它追加行到最后的小工具(不wid)的最后一行。如何将它追加到wid的最后一行而不是最后一个小部件?

+0

你能提供一个jsFiddle来显示你上面的代码吗? – FreeSnow

+3

只需$('.widget-content').append('

LINE3

');' –

+0

...什么是“小工具”? –

回答

3
var content = $('.widget-content', wid); //or beter wid.find('.widget-content'); 
var $newItem = $('<p>LINE3</p>').appendTo(content); 

您错位的上下文 - 它应该在content查询中。此外,您不必将内容重新包装到jq对象中,并且假设您在小部件中只有一个内容,则不必使用last

+0

更好地使用'wid.find()',因为您已经提到过 – steveyang

+0

由于某种原因,'wid.find()'不起作用,而是'$('。widget-content',wid)'。谢谢。 –

+0

酷,但我想知道为什么'找到'没有奏效。你确定'wid'是jQuery对象,而不是纯html元素? - 也许用萤火虫或其他东西来看它 - 简单的'console.log(wid)'应该告诉你什么坐在那里:) –

3

尝试以下:

$('<p>LINE3</p>').appendTo(wid.find('.widget-content')); 

根据文档.appendTo()犯规”重载功能与2个PARAMS。