0

尝试创建一个 Ajax 添加到愿望清单按钮,该按钮根据给定链接是否存在于数组中来更改给定链接的 data-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');
        }    
});

data-url 使用 twig.php 动态生成

4

1 回答 1

1

.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'));
}    
于 2020-05-16T17:09:33.313 回答