2011-05-17 63 views
5

今晚我有點累,只是不能真正想到如何做到這一點。基本上,我有類似於下面的東西,我想去掉html標籤,但留下它們的內容:刪除標籤,但留下內容 - jQuery/Javascript

<a href="#">some content</a> and more <a href="#"> and more content</a> 

,實際上返回以下內容:

some content and more and more content 

任何幫助一如既往 - 大規模感謝!

編輯:非常感謝大家的答案 - 那裏我正在走下正則表達式的路線,讓事情變得複雜!我實際上最終使用.text()如下建議,我以前使用過,但只是設置,永遠不會檢索,它會更好地工作,因爲我正在返回一個很大的對象!非常感謝你的所有建議:)。 6分鐘後我會接受答案。

回答

4

$(selector).text()應該去掉所有的html。

+0

從來不知道這種方法默認剝離標籤!我只用它來設置文本,或者檢索純文本,非常感謝你打開我的想法! – Jamie 2011-05-17 21:12:25

2

這種方式是長一點,但也許更多的自我解釋比contents()方法。

$('a').each(function() { 
    $(this).replaceWith($(this).html()) 
}) 

replaceWith接受替換html。 (不選擇)

2

你可以寫

$(...).find('*') 
     .replaceWith(function() { return this.childNodes }); 

我不知道這將如何處理好嵌套標籤。

相關問題