Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помощь с jQuery attr (https://javascript.ru/forum/misc/13233-pomoshh-s-jquery-attr.html)

ВэйДлин 21.11.2010 22:23

Помощь с jQuery attr
 
Допустим я изменил с помощью такого кода ссылку
$('#id').attr('href', '#');

Как её вернуть обратно?

B@rmaley.e><e 21.11.2010 22:27

Сохранить где-нибудь ее предыдущее значение и восстанавливать, используя его.

ВэйДлин 21.11.2010 22:28

А что если я использую класс и ссылок много?

Gvozd 22.11.2010 02:59

сохранить для каждого из объектов значение его атрибута, и возвращать обратно для каждого же из них

monolithed 22.11.2010 11:42

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<a href="#">a</a>
<script type="text/javascript">
$('a[href="#"]').bind({
    mouseover: function(){
        $(this).attr('rel', $(this).attr('href'));

        if($(this).attr('href') == $(this).attr('rel')){
            $(this).attr('href', 'изменили href');
        }
       $(this).text($(this).attr('href'));
    },
    mouseout: function(){
        if($(this).attr('href') == 'изменили href'){
            $(this).attr('href', $(this).attr('rel'));
        }
        $(this).text($(this).attr('href'));
     }
});
</script>

ВэйДлин 22.11.2010 17:19

monolithed, Интересное решение, ток почему-то не работает
$('.class').bind('load', function(){
  $(this).attr('rel', $(this).attr('href'));
});

$('.class').bind('load', function(){
  $(this).attr('href', $(this).attr('rel'));
});

monolithed 22.11.2010 17:56

Цитата:

Сообщение от ВэйДлин
monolithed, Интересное решение, ток почему-то не работает

Мое решение прекрасно работает, а ваше нет, потому как полный абсурд.
Скажите что конкретно вам нужно-то?

ВэйДлин 22.11.2010 21:39

Надо чтоб при клике на ссылку выполнялась функция (но не перекидывало по адресу) а после того как условие станет ложным при клике на ссылку перебрасывало на сайт

monolithed 22.11.2010 22:19

А сразу нельзя было сказать что нудно?
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<a href="ya.ru">a</a>
<script type="text/javascript">
$('a').toggle(
    function(){
        i = 2+2;
        alert(i);
        return false;
    },
    function(){
        if(i == 4){
            location.replace($(this).attr('href'));
            return true;
        }
    }
);
</script>



Если нужно выполнить функцию только один раз, то еще проще:
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<a href="ya.ru">a</a>
<script type="text/javascript">
$('a').one('click', function(){
    alert(1);
    return false;
});
</script>

raskinaks 15.04.2015 11:16

Прошу помочь примерно по такому же вопросу
 
Для сайта http://mpmax.by нужен скрипт js. На главной странице выбираем "металлочерепица", открываем вкладку "металлочерепица Польша", переходим "Металлочерепица Blachotrapez Diament eco", в браузере нажимаем "назад" - оказываемся на странице с активной вкладкой "Металлочерепица Металлпрофиль". Если встать на вкладку, выбрать правой кнопкой мыши "открыть в новой вкладке" - открывается страница с активной вкладкой той что надо. Как поменять для всех ссылок с анкором # на слеш?

Требуется это для того чтобы когда в браузере нажимаем "назад" возвращаться на ту вкладку где были а не на ту, которая активна по умолчанию.


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