1

I ran the following jquery command:

x=$(".container h3")

and got back this response:

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

I would like to convert each of the elements in the array to a string, so the final result would look like this:

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

The problem is that I can't convert each jquery response object into a string element.

I tried to cast each object as a String, via:

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

But I got back this:

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

Is there a direct way of converting each object into a string element?

2 Answers 2

7

Why not using .map() method?

var x = $(".container h3").map(function(){
    return $(this).text();
}).get(); // ["A", "B", "C", "D", "E"]
3
  • note: if IE support is not required, return this.textContent will do Commented Aug 31, 2013 at 17:04
  • note that iteration is not the problem. The stringification was. Commented Aug 31, 2013 at 17:05
  • Thanks for the fast response time :) Commented Aug 31, 2013 at 17:30
1
var x = [];
$(".container h3").each(function(){
    x.push($(this).text());
});

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.