Добавление класса для тега
На сайте есть несколько ссылок, надо сделать так чтоб ссылка чей адрес совпадает с текущей ссылкой сайта, добавляла класс 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, время: 01:13. |