Сообщение от Sweet
|
1. Объяви переменную вне .each. Как-то так:
$(document).ready(function() {
var all;
$('#content_value a[href*=info_village]').each(function() {
var ssil = $(this).attr('href');
all = [ ssil.match(/village=\d+/), ssil.match(/\d+$/) ];
});
$('#content_value a[href*=info_village]').each(function() {
all.push( $(this).text().match(/\d{3}\|\d{3}/) );
});
alert( all.join(" ") );
});
|
Всё работает, круто, и кода меньше, спасибо.
Но есть одно но, если на странице
$('#content_value a[href*=info_village]') больше 1 (20 например), то он не показывает остальные 19 модальных окон, только первое со значением первой строки
остальные тоже надо, как быть?
и ещё, поиск почему то происходит с 2 строки ('#content_value a[href*=info_village]'), первую почему то пропускает
хотя в этом варианте начинает с первой и перебирает все
$(document).ready(function() {
$('#content_value a[href*=info_village]').each(function() {
var ssil = ($(this).attr('href'));
var regVillage = /village=\d{1,}/;
var regId = /\d{1,}$/;
var regCoordx = /\(\d{3}/;
var resultV = ssil.match(regVillage);
var resultI = ssil.match(regId);
alert(resultV + ' ' + ' ' + resultI);
});
$('#content_value a[href*=info_village]').each(function() {
var str = ($(this).text());
var regCoordAll = /\d{3}\|\d{3}/;
var coords = str.match(regCoordAll);
alert(coords);
});
});
немного изменил вторую часть
$(document).ready(function() {
var all;
$('#content_value a[href*=info_village]').each(function() {
var ssil = $(this).attr('href');
all = [ ssil.match(/village=\d+/), ssil.match(/\d+$/) ];
});
var allcoords;
$('#content_value a[href*=info_village]').each(function() {
var coords = $(this).text();
allcoords = [ coords.match(/\d{3}\|\d{3}/) ];
});
alert(all + ' ' + allcoords);
});
так как функция искала и собирала на всей странице, а нужно для каждой строки отдельно
2)
Сообщение от Sweet
|
if(coords)
$('#content_value a[href*=info_village]').after(coords[0]);
|
куда это дело сунуть надо? внутрь функции сувал, не пашет
вне функции тоже ((