Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Добавление класса для тега (https://javascript.ru/forum/dom-window/15705-dobavlenie-klassa-dlya-tega.html)

dwel87 10.03.2011 12:55

Добавление класса для тега
 
На сайте есть несколько ссылок, надо сделать так чтоб ссылка чей адрес совпадает с текущей ссылкой сайта, добавляла класс strong в тег li, вот есть такой код:
<script language="javascript">
$(document).ready(function() {
var links = document.getElementsByName('topnavi');
    for (i=0; i < links.length; i++) {
        if (links[i].href == document.location.href) {
            links[i].parentNode.className = links[i].name + 'sel';
        } else {
            links[i].className = links[i].name;
        }
    }
});
</script>


и сами ссылки выглядят так:
<a href="{link}" name="topnavi"><li class=""><b>ссылка</b></li></a>

ksa 10.03.2011 13:01

Цитата:

Сообщение от dwel87
надо сделать так чтоб ссылка чей адрес совпадает с текущей ссылкой сайта, добавляла класс strong в тег li

И что дальше?

dwel87 10.03.2011 13:04

так как это реализовать?

рони 10.03.2011 13:42

dwel87,
Посмотрите тут

ksa 10.03.2011 15:45

Цитата:

Сообщение от dwel87
так как это реализовать?

Посмотри чему равны

links[i].href


и

document.location.href


может оно все и прояснится... :)

dwel87 11.03.2011 08:32

нашел в интернете подходящий скрипт:
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
var url=document.location.href;
$.each($("ul.tabs a"),function(){
if(this.href==url){$(this).addClass('str');};
});
});
</script>


прекрасно работает, но для полного щенячего счастья не хватает чтобы в меню активная ссылка перестала быть ссылкой, то есть хотелось бы чтоб из этого (то что получается после работы скрипта):

<ul class='tabs'>
<a href=''><li class='str'>1</li></a>
<a href=''><li>2</li></a>
<a href=''><li>3</li></a>
<a href=''><li>4</li></a>
</ul>

вот в такое:
<ul class='tabs'>
<li class='str'>1</li>
<a href=''><li>2</li></a>
<a href=''><li>3</li></a>
<a href=''><li>4</li></a>
</ul>

то есть удалить тег <a> у активной ссылки и при этом сохранить внутренние содержание, помогите пожалуйста.

Matre 11.03.2011 10:48

$(this).html($(this).children().html());

dwel87 11.03.2011 11:16

а можно пожалуйста по подробнее, куда эту строчку надо вставить?

Matre 11.03.2011 11:22

<script type='text/javascript'>
	// by Matre (c) (r) (tm) 2011
	jQuery(function ($) {
		$("ul.tabs a").each(function () {
			if (this.href == location.href)
				$(this).replaceWith($(this).children().addClass("str"));
		});
	});
</script>


Вот, нормальный код.

dwel87 11.03.2011 11:46

спасибо, только к сожалению класс str не добавляется


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