2013-08-31 47 views
1

我跑以下的jQuery命令:如何一個jQuery數組轉換爲一個字符串數組在javascript

x=$(".container h3") 

和回來這樣的響應:

[<h3>​A</h3>​, <h3>​B​</h3>​, <h3>​C​</h3>​, <h3>​D​</h3>​, <h3>​E</h3>​] 

我想每個轉換數組中的元素轉換爲字符串,因此最終結果如下所示:

["A", "B", "C", "D", "E"] 

問題是我無法將e將ach jQuery響應對象轉換爲一個字符串元素。

我試着投每個對象爲字符串,通過:

for(var i=0; i < x.length; ++i) {console.log(String(x[i]))} 

但我回到這一點:

[object HTMLHeadingElement] 
[object HTMLHeadingElement] 
[object HTMLHeadingElement] 
[object HTMLHeadingElement] 
[object HTMLHeadingElement] 

有每個對象轉換爲字符串元素的一個直接的方式?

回答

7

爲什麼不使用.map()方法?

var x = $(".container h3").map(function(){ 
    return $(this).text(); 
}).get(); // ["A", "B", "C", "D", "E"] 
+0

注:如果不要求支持IE,'返回this.textContent'會做 –

+0

注意,迭代是沒有問題的。串化是。 –

+0

感謝您的快速響應時間:) – vgoklani

1
var x = []; 
$(".container h3").each(function(){ 
    x.push($(this).text()); 
}); 
相關問題