Javascript разделить строку между несколькими пролетами

Я искал Google в поисках ответа, но, похоже, не могу его найти.

Мне нужно разделить следующую строку на отдельные переменные

строка хранится в виде переменной:-

var location = autocomplete.getPlace();
var address = location['formatted_address'];

Output:-

<span class="street-address">Street address</span>, <span class="locality">Town</span>, <span class="region">County</span> <span class="postal-code">Post Code</span>, <span class="country-name">Country</span>

например.

var street = "Street address";
var town = "Town";
var county = "County";
var postc = "Post Code";
var country = "Country";

Так что мне нужно, чтобы содержимое между

 <span class="street-address"></span>
 <span class="locality"></span>
 etc...

Иногда есть дополнительные пролеты, иногда меньше.

Я посмотрел на некоторый JavaScript, но он получает только содержимое между:-

 <span class="locality"> and the very last </span>

Любая помощь в правильном направлении будет очень

4 ответа

Используете ли вы простой JavaScript? или jQuery?

в JavaScript вы можете получить текст внутри элемента с помощью:

var1 = document.getElementByClass("street-address").innerText

или в jQuery:

var streetAddress = $('.street-address').text();
var city= $('.city').text();

Можете ли вы использовать JQuery? Проверьте это https://jsfiddle.net/zsxar4r4/

var address = [];
$('span').each(function(idx, span) {
    address.push($(span).html());
})
console.log(address);

Если вы используете jQuery:

var 1 = $('span.street-address').text();
var 2 = $('span.locality').text();
var 3 = $('span.region').text();
var 4 = $('span.postal-code').text();
var 5 = $('span.country-name').text();

Это должно быть так просто, если я не упустил что-то в этом вопросе.

Вы можете использовать getElementsByClassName() метод, который будет возвращать объект, похожий на массив.

https://developer.mozilla.org/en/docs/Web/API/Document/getElementsByClassName

var addressData = document.getElementsByClassName('address');

//And than do something with the object. You can access it like an array:

console.log(addressData[2].innerHTML);
Другие вопросы по тегам