2013-02-15 67 views
1

我有一個包含字符串值項的Javascript數組。但是,其中一些項目包含HTML標籤之間的文字。下面是我的數組的一個例子。使用jQuery從數組中刪除HTML代碼

var myArr = ["Weather", "very", "<span style="font-weight:bold;">nice</span>"]

我怎麼能剝離該數組中的<span></span>標籤只留下一句話nice

我已經研究過使用jquery的.match()來檢測數組是否包含HTML,但在JSFiddle中測試它時沒有成功。

提前謝謝。

+0

這不是一個有效的數組? – adeneo 2013-02-15 17:56:14

回答

4

修訂

的更新版本,以防止對XSS攻擊利用的$.parseHTML

myArr = $.map(myArr, function(str, i){ 
    return $("<div/>").append($.parseHTML(str)).text(); 
}); 

以前的更新

也許你可以試試下面幾行內容:

myArr = $.map(myArr, function(str, i){ 
    return $("<div/>").html(str).text(); 
}); 

See it here.

+0

你爲什麼倒下他? – jantimon 2013-02-15 17:54:16

+0

猜你應該使用'$ .map'而不是grep。 – 2013-02-15 17:54:46

+0

我幾乎可以確定沒有'$ .map',因爲'Array#map'還不是一個可行的選項。但是,同意 – Alexander 2013-02-15 17:55:51

1
var newArr = []; 
var myArr = ["Weather", "very", "<span style=\"font-weight:bold;\">nice</span>"] 
$.each(myArr, function(index, value) { 
    newArr.push($('<div/>').html(value).text()); 
}); 

Working fiddle