Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.08.2013, 11:38
Аспирант
Отправить личное сообщение для dimas15 Посмотреть профиль Найти все сообщения от dimas15
 
Регистрация: 21.08.2012
Сообщений: 86

Как дописать значения атрибута в ссылках в динамическом меню?
есть скрипт который скрывает ссылки от индексации если ссылки заменить например с <a href="vasyapupkin.ru">Вася Пупкин</a> на ‹a href="javascript:goPage('vasyapupkin.ru')"›Ва я Пупкин‹ /a› :

‹script type="text/javascript"›
function goPage(sPage) {
window.location.href = sPage;
}
‹/script›

есть динамическое дублирующее меню:
<ul class="menu set-v">
<li class="item-118 deeper parent"><a href="/pesok">Песок</a>
<ul><li class="item-131"><a href="/pesok/namyvnoj-pesok">Намывной песок</a></li>
<li class="item-132"><a href="/pesok/karernyj-pesok">Карьерный песок</a></li>
<li class="item-133"><a href="/pesok/morskoj-pesok">Морской песок</a></li>
<li class="item-134"><a href="/pesok/kvartsevyj-pesok">Кварцевый песок</a></li>
<li class="item-135"><a href="/pesok/pgs">ПГС</a></li>
<li class="item-136"><a href="/pesok/supes">Супесь</a></li>
</ul>
</li>
<li class="item-120"><a href="/beton">Бетон</a></li>
</ul>

Нужно чтобы ссылки заменились для этого меню с таким то id
например С <a href="/beton">Бетон</a>
На
‹a href="javascript:goPage('beton')"›Бетон‹ /a›
И конечно нужно чтобы это было для всех ссылок в этом меню.
При этом ссылки должны сохранять свой путь.
Т.е. поедее нужно автоматом вставить как то для всех ссылок href="javascript:goPage(' сама ссылка')"
Можно ли такое реализовать?!
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2013, 01:42
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Найди все ссылки document.querySelectorAll('.menu li a') например и в цикле заменяй href
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2013, 11:51
Аспирант
Отправить личное сообщение для dimas15 Посмотреть профиль Найти все сообщения от dimas15
 
Регистрация: 21.08.2012
Сообщений: 86

Сообщение от Tim Посмотреть сообщение
Найди все ссылки document.querySelectorAll('.menu li a') например и в цикле заменяй href
Это как ?
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2013, 13:29
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

dimas15,
Открой для себя консоль или FireBug. Первая кст обычно открывается сочетанием клавишь Ctrl + Shift + J. Нажми и исследуй...



Чтобы объекты dom отображались не в виде кусков html а в виде дерева я применяю трюк с заворачиванием их в объект, иначе хром не хочет дерево свойств показывать.

Код:
> link = {}
> link.foo = document.querySelectorAll('a')[0]
> link


После
Код:
link.foo = document.querySelectorAll('a')[0]
ты можешь написать link, поставить точку и увидеть список всех свойств и методов которые есть в этой ссылке.

Отладка в браузере Chrome
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2013, 14:12
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Сообщение от dimas15 Посмотреть сообщение
Это как ?
книжку попробуйте почитать
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2013, 16:44
Аспирант
Отправить личное сообщение для dimas15 Посмотреть профиль Найти все сообщения от dimas15
 
Регистрация: 21.08.2012
Сообщений: 86

Сообщение от mta88 Посмотреть сообщение
книжку попробуйте почитать
Да я смотрю ты вообще умняга.....
Ответить с цитированием
  #7 (permalink)  
Старый 02.08.2013, 16:49
Аспирант
Отправить личное сообщение для dimas15 Посмотреть профиль Найти все сообщения от dimas15
 
Регистрация: 21.08.2012
Сообщений: 86

Сообщение от Tim Посмотреть сообщение
dimas15,
Открой для себя консоль или FireBug. Первая кст обычно открывается сочетанием клавишь Ctrl + Shift + J. Нажми и исследуй...



Чтобы объекты dom отображались не в виде кусков html а в виде дерева я применяю трюк с заворачиванием их в объект, иначе хром не хочет дерево свойств показывать.

Код:
> link = {}
> link.foo = document.querySelectorAll('a')[0]
> link


После
Код:
link.foo = document.querySelectorAll('a')[0]
ты можешь написать link, поставить точку и увидеть список всех свойств и методов которые есть в этой ссылке.

Отладка в браузере Chrome
Тут ведь надо как-то написать условие чтобы в атребуте ссылки href="..." прописывалось условие в начале javascript:goPage(' и в конце ') . вот в чем вопрос. А про то что нужно использовать for я понял
Ответить с цитированием
  #8 (permalink)  
Старый 02.08.2013, 22:00
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

link.attributes[0].nodeValue = "javascript:goPage('" + link.attributes[0].nodeValue + "')";

ну как то так, только с link.attributes[0] аккуратнее не факто что href будет первым в массиве аттрибутов
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы менялся background в раскрывающемся меню Teotim Элементы интерфейса 2 20.10.2012 20:28
Как получить значения вышестоящих элементов дерева TreeStore ? Allan Stark ExtJS 1 31.07.2012 16:48
Подскажите как сделать меню на CSS если: greatilya (X)HTML/CSS 10 18.10.2009 20:26
Как "переключать" картинки в меню навигации? KirTer Элементы интерфейса 1 22.06.2009 11:49
Раскрывающееся меню, как переставить на другую сторону? Resager Events/DOM/Window 8 22.08.2008 21:56