I am misunderstanding the $.each

I have a number of divs with a class of directionsAddress. Here's an example of what they hold
<div class='directionsAddress noDisplay'>224+Plain+Street+Anywhere+NY</div>

I want to get the value in between the divs and use it to build a url

Here's the initial value of the url
var url = "https://www.google.com/maps/dir";

I want to take the values from these divs with a class of directionsAddress and use them to append to the url. Here's my attempt. I think I'm only misunderstanding one little detail, but it doesn't work.

$(".directionsAddress").each(function (index, value) {url += "/" + value; });
window.location = url;

Value seems to be returning the actual object, not the text within it. I tried value.text() and it told me it's not a function
Who is Participating?
I wear a lot of hats...


Rainer JeschorCommented:
you might simply change your script to:
$(".directionsAddress").each(function () {url += "/" + $(this).text(); });
window.location = url;

Open in new window

But I am not sure if this is really what you want - if you have multiple elements with that class your url will look like
baseurl + / + text1 + / + text2 ...

Experts Exchange Solution brought to you by

Your issues matter to us.


Start your 7-day free trial
BobHavertyComhAuthor Commented:
Yes, "this" works like I thought value would. As far as the + signs, it's for a google maps page that handles spaces with + signs. Thanks again.

From novice to tech pro — start learning today.

Question has a verified solution.


Have a better answer? Share it in a comment.