【发布时间】:2015-08-12 07:20:37
【问题描述】:
您好,我正在使用 jquery 向数据库发出 ajax 请求,以在数据库中添加和删除收藏夹。这很好用,但是我想替换锚链接中的部分href,以便用户可以在需要时再次添加/删除,而无需刷新页面,例如链接是这样构建的 http://article.local/favourite/delete/uniqueid 因此我需要用添加替换“删除”,反之亦然添加收藏按钮。但是我不能使用类名,否则这将适用于所有类,而不是当时单击的类。
$( ".remove-favourite" ).click(function(e) {
e.preventDefault();
var favform = $(this).parent('.fav-form-contents');
$(favform).append("<img src='/images/loading.gif' class='form-loader' class='loading-icon'/>");
$.ajax({
type : "POST",
cache : false,
url : $(this).attr('href'),
data : $(this).serialize(),
success : function(data) {
$('.loading-icon').hide();
$(this).attr('href').replace(/delete/, 'add');
$(this).removeClass('remove-favourite').addClass('add-favourite');
}
})
}); // end click function
但是我得到的错误信息如下:
Uncaught TypeError: Cannot read property 'replace' of undefined
这表明它丢失了当前项目,关于我做错了什么有什么想法吗?
【问题讨论】:
-
请使用SO的搜索功能。这是这里最常见的问题之一。
标签: javascript jquery ajax replace