2011-11-18 50 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。