jquery
2009-01-21 22 views 3 likes 
3

我是JQuery的新手。我正在閱讀JQuery的行動,但只能到第39頁,需要一些快速的幫助!使用JQuery插入HTML作爲選定標記的最後一個孩子

請注意:我正在簡化我的實際需求,所以我所要求的可能聽起來很奇怪,但我只是試圖去解決JQuery表達式的癥結,而不是我的情況(與動畫插件有關)。

我有我的HTML代碼(其中生成,我不想改變):當前後

<div class="favorite"> 
    <div> 
      <a href='http://www.stackoverflow.com'>Stackoverflow</a> 
    </div> 
</div> 

現在我想做的是插入文本「(喜歡)」內的標籤內容。或換句話說,作爲<a>的最後一個孩子。

<div class="favorite"> 
    <div> 
      <a href='http://www.stackoverflow.com'>Stackoverflow (favorite)</a> 
    </div> 
</div> 

我迄今爲止最好的是這樣的:

$('<span> (favorite)</span>').insertAfter('.favorite div a'); 

當然這最終把(喜愛)文本之外的鏈接,它不會被強調(我想)。

我需要以某種方式說.parent()。lastChild(),但我不太確定如何做到這一點。

注意:我必須放入<span>,否則它不會將其視爲「可插入」文本。我相信也有解決辦法,但那是次要的問題。

回答

8

append方法在匹配元素的末尾插入節點。 Prepend在開始處插入節點。

例子:

$('div.favorite div a').append('<span> (favorite)</span>'); 

span元素是沒有必要的 - 你可以這樣做:

$('div.favorite div a').append(' (favorite)'); 
+0

糟糕!我實際上已經嘗試追加,它似乎沒有做任何事情。事實證明,這是因爲我的動畫依賴於包含'display:none'的'.favorite div a'的css選擇器。所以這是工作,但立即消失。謝謝 – 2009-01-21 02:43:02

+0

加上另外我得到了兩個錯誤的方式 - 這是關鍵。所以我只是幾乎得到它的工作 – 2009-01-21 02:48:34

1

你也可以這樣做:

$("div.favorite div a").text($("div.favorite div a").text() + " (favorite)"); 
相關問題