2010-02-22 71 views
1

我试图使用切换功能,改变一个链接的背景和HREF,到目前为止,我有这样的代码,jQuery的切换帮助

$('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'(或任何身份证可能)。

这可能吗?

回答

2

我想你可以尝试

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

,但我还需要链接 HREF更改为 '欢迎/曲子/ 5'(或 无论ID可能)。

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

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

0

仅当第一次将页面发送到浏览器时,您的PHP代码才会在每个AJAX请求上执行。既然你真的在做的是改变“动作”文本,为什么不使用JavaScript字符串替换呢?

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

$(本).find( 'A')。ATTR( 'HREF' $(本).find( 'A')。ATTR( 'href' 属性)。REPLACE( 'loveThis',”不再') );

替代 'loveThis' 与相匹配的元素的曲子“......