справка переключателя jQuery

Я пытающийся использовать функцию переключателя, изменить фон и href ссылки, до сих пор у меня есть этот код,

$('a.loveIt').toggle(
        function() {
         var url = $(this).attr('href');
         $.ajax({
            url:url,
            type:"POST",
            success:function(){
                //alert("hello");
                $('p#loveIt').append(
                    "<a class='lovedIt' href='<?php base_url()."welcome/noMore/".$row['contentId'];?>'>Change It</a>"
                )
                $('div#wrapper').append(
                    "<div id='flashAdded'><p>The content has been added to your content</p></div>"
                )
                $("#flashAdded").animate({marginTop:"0px"}, 1500);
                setTimeout(function () {$("#flashAdded").animate({marginTop:"-46px"}, 1500);}, 2000);
                $('.loveIt').removeClass('loveIt').addClass('lovedIt');
            }
         });
         return false
        },
        function() {
        alert(id);
            $(this).removeClass('lovedIt').addClass('loveIt')
        });

Переменная URL, которая устанавливается в первой функции, является 'welcome/loveThis/5' 5, отличается на статью, поскольку это - статьи ID, по щелчку ссылка я удаляю класс и добавляю класс, но я также должен изменить ссылку href на 'welcome/noMore/5' (или безотносительно идентификатора, возможно).

Действительно ли это возможно?

1
задан Udders 22 February 2010 в 15:31
поделиться

4 ответа

Думаю, вы могли бы попробовать

var link = $('.loveIt');
link.removeClass('loveIt').addClass('lovedIt').attr('href', link.attr('href').replace('loveThis', 'noMore'));
2
ответ дан 3 September 2019 в 01:11
поделиться

Ваш PHP-код не будет выполняться при каждом запросе AJAX, только когда страница отправляется в браузер в первый раз. Поскольку все, что вы на самом деле делаете, это изменяете текст "действия", почему бы просто не использовать замену строки javascript вместо этого?

$('p#loveIt').append( 
    "<a class='lovedIt' href='" + href.replace(/lovedIt/,'noMore') + "'>Change It</a>" 
);
0
ответ дан 3 September 2019 в 01:11
поделиться

, но мне также нужно изменить ссылку href на 'welcome / noMore / 5' (или независимо от идентификатора).

$('.loveIt').removeClass('loveIt').addClass('lovedIt').attr('href', 'welcome/noMore/5');

Чтобы добавить ссылку, просто добавьте к ней .attr ('href', 'welcome / noMore / 5'); .

0
ответ дан 3 September 2019 в 01:11
поделиться

$(this).find('a').attr('href' $(this).find('a').attr('href').replace('loveThis','noMore') );

Заменяет 'loveThis' на 'noMore' на совпадающих элементах a...

0
ответ дан 3 September 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: