Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 12.06.2011, 00:36
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от Abraham
что не так?
Все так Ведь не один href не содержит 5 символов. Посмотри хотя бы
alert( $(this).attr('href') );
Ответить с цитированием
  #22 (permalink)  
Старый 12.06.2011, 00:53
Аспирант
Отправить личное сообщение для Abraham Посмотреть профиль Найти все сообщения от Abraham
 
Регистрация: 04.09.2010
Сообщений: 91

блин, я думал мне дали ответ на поиск названия(текст) ссылки
как будет тогда поиск текста ссылки???

<a href="http://javascript.ru/forum/">Форум</a>
Ответить с цитированием
  #23 (permalink)  
Старый 12.06.2011, 01:30
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Блин, а чего ты хотел от .attr('href')??? Все ровно что сказать: "Блин, почему метод .getElementById возвращает елемент по id??? Я ожидал другого!!!"
Вот документация. Там есть все ответы по jQuery.
Очевидно, тебе нужно html() или text().
Ответить с цитированием
  #24 (permalink)  
Старый 12.06.2011, 02:08
Аспирант
Отправить личное сообщение для Abraham Посмотреть профиль Найти все сообщения от Abraham
 
Регистрация: 04.09.2010
Сообщений: 91

Спасибо, это мне и надо было
Ответить с цитированием
  #25 (permalink)  
Старый 12.06.2011, 04:15
Аспирант
Отправить личное сообщение для Abraham Посмотреть профиль Найти все сообщения от Abraham
 
Регистрация: 04.09.2010
Сообщений: 91

$(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);
});
});


сделал

но терь куча ещё вопросов
1) как всё вывести на одно модальное окно
2) пытаюсь вывести любую переменную под обзац
типа:
$('#content_value a[href*=info_village]').after(coords);


нифига не появляется, почему?
побывал просто текст выводить, текст есть
Ответить с цитированием
  #26 (permalink)  
Старый 12.06.2011, 05:54
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

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,}.
Ответить с цитированием
  #27 (permalink)  
Старый 12.06.2011, 09:26
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от Abraham
блин, я думал мне дали ответ на поиск названия(текст) ссылки
Извиняюсь, а и не заметил что ошибся))
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #28 (permalink)  
Старый 12.06.2011, 16:05
Аспирант
Отправить личное сообщение для Abraham Посмотреть профиль Найти все сообщения от Abraham
 
Регистрация: 04.09.2010
Сообщений: 91

Сообщение от 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]);
куда это дело сунуть надо? внутрь функции сувал, не пашет
вне функции тоже ((

Последний раз редактировалось Abraham, 12.06.2011 в 19:27. Причина: правка изменение второй части кода
Ответить с цитированием
  #29 (permalink)  
Старый 13.06.2011, 03:18
Аспирант
Отправить личное сообщение для Abraham Посмотреть профиль Найти все сообщения от Abraham
 
Регистрация: 04.09.2010
Сообщений: 91

Walik вся надежда на тебя ))
Ответить с цитированием
  #30 (permalink)  
Старый 13.06.2011, 10:49
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

сколько он их ищет?
покажи

alert( $('#content_value a[href*=info_village]').length )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение численных значений формы ввода FastSP Общие вопросы Javascript 8 08.04.2012 20:45
Передача массива значений флажков LRCenter Общие вопросы Javascript 2 05.10.2010 19:49
Очистка формы от дефолтных значений js hereim Общие вопросы Javascript 14 04.07.2010 21:29
как посчитать сумму выбранных элементов checkbox nikimak92 Общие вопросы Javascript 9 01.06.2010 10:16
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48