我尝试使用切换功能,更改链接的背景和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)。
这可能吗?
答案 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'......