Добавление класса для тега
На сайте есть несколько ссылок, надо сделать так чтоб ссылка чей адрес совпадает с текущей ссылкой сайта, добавляла класс 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> |
Цитата:
|
так как это реализовать?
|
dwel87,
Посмотрите тут |
Цитата:
links[i].href и document.location.href может оно все и прояснится... :) |
нашел в интернете подходящий скрипт:
<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> у активной ссылки и при этом сохранить внутренние содержание, помогите пожалуйста. |
$(this).html($(this).children().html()); |
а можно пожалуйста по подробнее, куда эту строчку надо вставить?
|
<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> Вот, нормальный код. |
спасибо, только к сожалению класс str не добавляется
|
Часовой пояс GMT +3, время: 16:04. |