Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подсветить ссылку в меню (webmoney) (https://javascript.ru/forum/misc/45064-podsvetit-ssylku-v-menyu-webmoney.html)

sovka 12.02.2014 19:55

Подсветить ссылку в меню (webmoney)
 
Здравия!

<div id="mnu">
   <a href="/cat1/">link1</a>
   <a href="/cat2/">link2</a>
   <a href="/cat3/">link3</a>
</div>


Функцию бы, которая при любой глубине вложености страницы подсвечивает ссылку в меню (class="selected").

С меня webmoney, плз хелп.

рони 12.02.2014 19:58

sovka,
на форуме нет поиска, а вас нет сервера :write:

sovka 12.02.2014 20:03

В поиске варианты подсветки когда ссылка совпадает с текущим урл, а мне бы когда ссылка содержиться в открытом урл :( Чтобы подсветка была при любой глубине вложенности.

рони 12.02.2014 20:42

sovka,
тестируйте урл на наличие ссылки http://javascript.ru/RegExp/test

skrudjmakdak 12.02.2014 21:04

вопросы для детского сада))
<html>
	<head>
		<title>example</title>
	</head>
	<body>
	<div>
		<a class="selected">1</a>
		<a class="selected">2</a>
		<a class="no-selected">3</a>
		<a class="selected">4</a>
	</div>
		<script>
var list = document.querySelectorAll('a[class=selected]'),
	a;

for (var i = 0; i < list.length; ++i)
	{
	a = list[i];
	alert(a.innerHTML);
	}
		</script>
	</body>
</html>

рони 12.02.2014 21:08

skrudjmakdak,
а какая связь вашего кода с вопросом TC?

skrudjmakdak 12.02.2014 21:09

Рони, вот:
Цитата:

Сообщение от sovka (Сообщение 297337)
Функцию бы, которая при любой глубине вложености страницы подсвечивает ссылку в меню (class="selected").


рони 12.02.2014 21:18

skrudjmakdak,для сейчас это звучало бы так
надо найти ссылку со словом /forum/ в href и подсветить её установив (class="selected").

skrudjmakdak 12.02.2014 21:18

я честно говоря хрен понял))
если нужно найти тег "а" у которого ссылка стоит на страницу, то как то так:
document.querySelectorAll('a[href=' + window.location.pathname + ']')

но все равно детский сад))

skrudjmakdak 12.02.2014 21:27

document.querySelector('a[href="/forum/"]').className = 'selected'

рони 12.02.2014 21:34

Цитата:

Сообщение от skrudjmakdak
document.querySelectorAll('a[href=' + window.location.pathname + ']')

Цитата:

Сообщение от skrudjmakdak
document.querySelector('a[href="/forum/"]').className = 'selected'

:no:
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <style type="text/css">
    .red{
       background-color: #CC0000;
    }

  </style>
</head>

<body>
<a href="/lookatcode.com/">this</a>
<a href="/param-pam-pam">that</a>

		<script>
var list = document.querySelectorAll('a'),
	a, h;

for (var i = 0; i < list.length; ++i)
	{
	a = list[i];
    h = a.getAttribute('href');
    if(location.href.indexOf(h) != -1) a.classList.add('red')

	}
		</script>
</body>

</html>

skrudjmakdak 12.02.2014 21:41

как когда то сказал даник.js, завидуй молча: )))
<html>
	<head>
		<title>example</title>
	</head>
	<body>
	<div>
		<a href="fd/forum/">1</a>
		<a class="selected">2</a>
		<a class="no-selected">3</a>
		<a class="selected">4</a>
	</div>
		<script>
document.document.querySelector('a[href*="/forum/"]').className = 'selected';

		</script>
	</body>
</html>

рони 12.02.2014 21:46

skrudjmakdakувы завидовать нечему ваш код нерабочий для данной проблемы

sovka 13.02.2014 16:39

Алгоритм нужен такой:
1. Найти Div, у которого id="mnu"
2. Найти в нем ссылку, HREF которой входит в URL текущей открытой страницы.
3. Если такая ссылка найдена, то добавить ей class="selected"

рони 13.02.2014 17:39

sovka,
код вверху видите ? пост 11 -- добавьте в селетор ваш id
var list = document.querySelectorAll('#mnu a') и класс red замените на selected
a.classList.add('selected') -- вставьте скрипт в низу страницы и готовности.


Часовой пояс GMT +3, время: 11:46.