1

次の jquery コマンドを実行しました。

x=$(".container h3")

そして、この応答が返されました:

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

配列内の各要素を文字列に変換したいので、最終結果は次のようになります。

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

問題は、各 jquery 応答オブジェクトを文字列要素に変換できないことです。

次の方法で、各オブジェクトを文字列としてキャストしようとしました。

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

しかし、私はこれを取り戻しました:

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

各オブジェクトを文字列要素に直接変換する方法はありますか?

4

2 に答える 2

7

.map()メソッドを使用しないのはなぜですか?

var x = $(".container h3").map(function(){
    return $(this).text();
}).get(); // ["A", "B", "C", "D", "E"]
于 2013-08-31T16:57:11.490 に答える
1
var x = [];
$(".container h3").each(function(){
    x.push($(this).text());
});
于 2013-08-31T17:25:35.003 に答える