2013-04-25 47 views
12

我正在嘗試使用jQuery將其他文本添加到段落的末尾。我的想法是產生這樣的結構:jQuery在現有段落標籤內附加文本

根據我的回答判斷我會澄清。我需要首先創建這個結構。這是我覺得困難的部分,而不是第二個最終結果。那麼,如何動態地創建這樣:

<p>old-dynamic-text<span id="add_here"></span></p> 

,然後加入新的文本後,它看起來像這樣:

<p>old-dynamic-text<span id="add_here">new-dynamic-text</span></p> 

我一直在玩的.wrapAll()方法,但我不能完全達到預期的效果。這是做這件事的最好方法(如果是這樣的話),還是有另一種方法來將新文本附加到現有段落的末尾(這需要用某種類型的標籤包裝,因爲我需要以不同的方式進行設計) ?

回答

28

嘗試......

$('p').append('<span id="add_here">new-dynamic-text</span>'); 

或者如果有一個現有的跨度,做到這一點。

$('p').children('span').text('new-dynamic-text'); 

DEMO

+0

我敢肯定,這將段落元素後追加跨度,沒有進去。所以它會結束

而不是

。除非不加標籤採用p導致其行爲不同(那只是一個錯字? – sage88 2013-04-25 03:25:02

+0

加入小提琴鏈接,檢查出來。 – 2013-04-25 03:27:44

+0

我beleive結果將是

如果使用追加。 – 2013-04-25 03:32:58

0

如果你想append文本或HTML到span那麼你可以如下做到這一點。

$('p span#add_here').append('text goes here'); 

append將在末尾添加文本到span標籤。

更換整個文本或HTML範圍內可以使用.text().html()

+0

嘿我修改我的問題是更清楚,檢查以上 – sage88 2013-04-25 03:27:07

3

試試這個

$('#add_here').text('new-dynamic-text'); 
+0

嘿我澄清我的問題是更清晰,檢查以上 – sage88 2013-04-25 03:28:46

+0

那麼,請參閱Mahesh Sapkal的解決方案。會給你你想要的結果..;) – 2013-04-25 03:35:34