Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление атрибутов сразу у всех элементов. IE, jQuery 
:(
    Опции темы
iddqd
Дата 21.5.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



У меня на странице есть вот такой код:
Код

    <span><a class="selected" onclick="">Главная</a></span>
    <span><a class="" href="#" onclick="loadpage(this)">Вторая</a></span>
    <span><a class="" href="#" onclick="loadpage(this)">Третья</a></span>

Это меню навигации. У ссылки на главную отсутствует функцию loadthis, href и class="selected" это сделанно для того, чтоб было отчетливо видно, что мы сейчас находимся на главной и не было ссылок на странице, которые ведут сами на себя.
Функция loadpage() должна делать то же самое с другими ссылками при клике по ним. Я это сделал так:
Код

function loadpage(obj)
{
    $('#menu span a').removeClass('selected'); //находим все ссылки и удаляем класс selected
    $(obj).addClass('selected'); //ставим selected только нашему объекту.
        
    $('#menu span a').attr('href', '#'); //снова находим все ссылки и добавляем им атрибут href="#"
    $(obj).removeAttr('href'); //удаляем у нашего объекта атрибут href, чтоб он перестал быть нормальной ссылкой
        
    $('#menu span a').attr('onclick', 'loadpage(this)'); //и наконец находим все ссылки и добавляем им событие onclick
    $(obj).removeAttr('onclick'); //удаляем его у нашего объекта
}


По поводу последних двух строк был еще вопрос вот здесь.

Приведенный выше код отлично работает в FF, Safari и Opera, но в IE6 происходит какая-то ернуда — после клика ссылка перестает быть ссылкой, как и задуманно, но при этом остальные не становятся ссылкой.
Прошу вашей помощи.

P.S. особо IE отвратителен тем, что код под него никак не отладить.


--------------------
PM MAIL   Вверх
ksnk
Дата 22.5.2008, 16:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



iddqd, Забавно... по типу - давайте отпилим у зайчика ноги, чтоб не убежал, а потом пришьем обратно ;-)
Зайчик от этого и сдохнуть может ...
Я бы делал примерно так

Код

.menu a {display:inline;}
.menu span {display:none;}
.menu.selected a {display:none;}
.menu.selected span{display:inline;}


Код

<span="menu"><span>Menu</span><a href='xxx'>Menu</a></span>

Ну и ставить сие чуда примерно так
Код

function click(e){
  $('.menu').removeClass('selected');
  $(e).addClass('selected');
}



Это сообщение отредактировал(а) ksnk - 22.5.2008, 16:35


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
SelenIT
Дата 22.5.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: нет
Всего: 401



А я бы вообще не убирал href, а onclick заменил бы на onclick="return loadpage(this)", и в самой ф-ции  loadpage сравнивал бы this с текущей ссылкой и при совпадении возвращал false...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
ksnk
Дата 22.5.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



SelenIT, Так визуальность потеряется. Ссылка останется по виду ссылкой... Хотя можно и стилями "ссылочность" пристрелить.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
iddqd
Дата 22.5.2008, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



ksnk, пробую так сделать. Но с кликом не получается. Не могу теперь присвоить selected тому спану, который содержит в себе ссыку по которой кликнули.
 


--------------------
PM MAIL   Вверх
ksnk
Дата 22.5.2008, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Цитата(iddqd @  22.5.2008,  20:55 Найти цитируемый пост)
Не могу теперь присвоить selected тому спану, который содержит в себе ссыку по которой кликнули.

"Вы просто не умеете их готовить ..."   smile 
Код

<html>
<head>
<script src='jquery.js'></script>
<script>
$(function(){
  $('.menu a').click(function(){
        $('.menu').removeClass('selected');
        $(this).parent().addClass('selected');
        return false;})
})
</script>
<style>
.menu a {display:inline;}
.menu span {display:none;}
.menu.selected a {display:none;}
.menu.selected span{display:inline;}
</style>
</head>
<body>
<span class="menu"><span>Не линка 1</span><a href='xxx'>Линка 1</a></span><br>
<span class="menu"><span>Не линка 2</span><a href='xxx'>Линка 2</a></span><br>
<span class="menu"><span>Не линка 3</span><a href='xxx'>Линка 3</a></span><br>
<span class="menu"><span>Не линка 4</span><a href='xxx'>Линка 4</a></span><br>
<span class="menu"><span>Не линка 5</span><a href='xxx'>Линка 5</a></span><br>
</body>
</html>




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.