2011-08-25 38 views
6

我有一些自動生成的文本,其中包括非ascii編碼的括號。例如:如何使用JQuery刪除文本括號?

<div> Some text (these are the non-ascii encoded parenthesis). 
<div> 

我想擺脫括號。我有以下,這是我在其他地方使用清理一些HTML元素,但我不能讓類似的工作,除去實際的文字:

 jQuery(document).ready(function(){jQuery(".block").find("p").remove()}); 

我發現周圍的一些想法,但他們對付正常文本。擺脫括號是一個挑戰,因爲我不確定如何編寫括號,以便jQuery理解它。

任何想法?

+0

你想擺脫括號本身,或者它們包含的一切嗎? –

+0

我只是想排除括號,但它看起來像安迪的答案下面包括代碼尼克斯之間的一切也。感謝回覆。 – user624385

回答

19

你應該用香草的Javascript進行替換/清潔。像

$('div').text(function(_, text) { 
    return text.replace(/\(|\)/g, ''); 
}); 

會做到這一點。注意,這將查詢整個邊上的所有<div>節點,您希望對選擇器更具體。

演示:http://jsfiddle.net/2gHh2/

如果你想刪除的括號之間的一切,你只需要正則表達式更改爲/\(.*?\)/g

+0

如果整個div都是文本,那麼這個效果很好,但div中有其他元素。這些正在消失。例如,在您的小提琴網站上,在div中添加一個元素...它被忽略,我的意思是它不會被瀏覽器解釋並顯示爲鏈接。 – user624385

+0

@ user624385:我更新了jsfiddle。見http://jsfiddle.net/2gHh2/2/。對於父節點中的任何子節點,這應該一般地完成這項工作。 – jAndy

+0

是的!你在jsfiddle.net/2gHh2/2的回答是完美的!先生非常感謝您!我已經paypal'd你5美元的咖啡。多謝。 – user624385