jquery切换帮助

时间:2010-02-22 15:31:06

标签: html 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'(或者可能是id)。

这可能吗?

4 个答案:

答案 0 :(得分:2)

我想你可以试试

var link = $('.loveIt');
link.removeClass('loveIt').addClass('lovedIt').attr('href', link.attr('href').replace('loveThis', 'noMore'));

答案 1 :(得分:0)

  

但我还需要更改链接   href为'welcome / noMore / 5'(或   无论id是什么)。

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

要添加链接,只需向其添加.attr('href', 'welcome/noMore/5');

答案 2 :(得分:0)

只有当页面第一次发送到浏览器时,才会在每个AJAX请求上执行您的PHP代码。由于你所做的只是改变“动作”文本,为什么不直接使用javascript字符串替换?

$('p#loveIt').append( 
    "<a class='lovedIt' href='" + href.replace(/lovedIt/,'noMore') + "'>Change It</a>" 
);

答案 3 :(得分:0)

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

将'loveThis'替换为匹配元素的'noMore'......