Javascript 如何通过单击在两个位置使用replaceWith()

Javascript 如何通过单击在两个位置使用replaceWith(),javascript,jquery,Javascript,Jquery,我正在添加一个“添加到愿望列表”按钮,需要在两个位置更新onClick 在鼠标悬停弹出窗口中 在onClick模式中(使用SimpleModel 1.4.1) 当我单击鼠标悬停在弹出窗口上的“添加到列表”时,下面的代码在两个位置都起作用 但是,当我在模式中单击同一链接时,它不会反映在鼠标悬停弹出窗口中 $("a.addedToList").live("click", function (e) { addToShoppingList($(this).parents('.product').

我正在添加一个“添加到愿望列表”按钮,需要在两个位置更新onClick

  • 在鼠标悬停弹出窗口中
  • 在onClick模式中(使用SimpleModel 1.4.1) 当我单击鼠标悬停在弹出窗口上的“添加到列表”时,下面的代码在两个位置都起作用

    但是,当我在模式中单击同一链接时,它不会反映在鼠标悬停弹出窗口中

    $("a.addedToList").live("click", function (e) {
        addToShoppingList($(this).parents('.product').attr("OfferID"));
        $(this).text('Add to Shopping List');
        $(this).replaceWith(function () {
            return $("<span class='itemAdded'>" + $(this).html() + "></span> ");
        });
        e.preventDefault();
    }); 
    
    $(“a.addedToList”).live(“单击”,函数(e){
    addToShoppingList($(this).parents('.product').attr(“OfferID”));
    $(此).text('添加到购物清单');
    $(this).replaceWith(函数(){
    返回$(“”+$(this.html()+“>”);
    });
    e、 预防默认值();
    }); 
    

    我是否需要单独更新每一个?我使用的是“多选项卡”布局,每种产品都被同等对待。这将使针对特定产品变得困难。

    有人可能会这样说,因为应该使用1.7
    on
    而不是
    live
    你的问题不是很清楚。你先说它在两个地方都管用,然后你说它不管用。是哪一个?什么不起作用?网站有很多运行,升级会导致“问题”。它在鼠标悬停弹出窗口上工作,但在模式中不起作用。问题仍然不清楚。您可以指定
    $(this).replaceWith()
    ,因此这只适用于在DOM中单击的一个元素。如果要更新/替换2个元素,它们必须共享一个公共属性值,例如类名或数据属性。