[尝试创建一个向愿望清单添加Ajax的按钮,该按钮将根据数组中是否存在给定链接更改数据URL。
认为我在正确的行上,但无法真正实现.replace()。
我在这里如何错误地使用replace()?
var wishlistBtn = $('.add-to-wish');
var wishlistIds = [];
$.each(wishlistBtn, function(){
var curId = $(this).data('id');
var curURL = $(this).data('url');
var cur = $(this);
if($.inArray(curId, wishlistIds) > -1){
cur.addClass('in-wishlist');
curURL.replace('Add', 'Delete');
} else {
cur.removeClass('in-wishlist');
curURL.replace('Delete', 'Add');
}
});
数据URL是使用twig.php动态生成的
.replace
仅给您替换后的字符串-它没有副作用。如果需要副作用,则必须明确地进行操作-将替换后的字符串分配给url
属性:
if($.inArray(curId, wishlistIds) > -1){
cur.addClass('in-wishlist');
$(this).data('url', curURL.replace('Add', 'Delete'));
} else {
cur.removeClass('in-wishlist');
$(this).data('url', curURL.replace('Delete', 'Add'));
}