Цитата:
alert( $(this).attr('href') );
|
блин, я думал мне дали ответ на поиск названия(текст) ссылки
как будет тогда поиск текста ссылки??? <a href="http://javascript.ru/forum/">Форум</a> |
Блин, а чего ты хотел от .attr('href')??? Все ровно что сказать: "Блин, почему метод .getElementById возвращает елемент по id??? Я ожидал другого!!!":blink:
Вот документация. Там есть все ответы по jQuery. Очевидно, тебе нужно html() или text(). |
Спасибо, это мне и надо было
|
$(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);
});
});
сделал :dance: но терь куча ещё вопросов 1) как всё вывести на одно модальное окно 2) пытаюсь вывести любую переменную под обзац типа:
$('#content_value a[href*=info_village]').after(coords);
нифига не появляется, почему? побывал просто текст выводить, текст есть |
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(" ") );
});
2. Метод .after параметром принимает строку, DOM-элемент или jQuery-набор, а .match возвращает массив (или null, если ничего не нашел). Соответственно, нужно так:
if(coords)
$('#content_value a[href*=info_village]').after(coords[0]);
Если coords === null, будет ошибка, так что проверка обязательна.Кстати, {1,} - эквивалентно +. По-моему, \d+ по-приятнее, чем \d{1,}. |
Цитата:
|
Цитата:
Но есть одно но, если на странице $('#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) Цитата:
вне функции тоже (( |
Walik вся надежда на тебя ))
|
сколько он их ищет?
покажи
alert( $('#content_value a[href*=info_village]').length )
|
| Часовой пояс GMT +3, время: 10:56. |