jQuery替换多个文本

时间:2018-10-02 09:57:34

标签: javascript jquery

我需要一些有关使用jQuery替换文本的建议。我有一个看起来像这样的模板,并构建了购物车:

{foreach from=$cart.products item=product}
                    <div class="product">
                        <span class="product-image"><img src="{$product.cover.small.url}"></span>
                        <div class="product-details">
                            <h2 class="name-header">{$product.name}</h2>
                            <div class="product-quantity-details">
                                <span class="quantity">{$product.quantity}</span>

这将为我提供每种产品的容器,前后都有更多元素。我有一些可以增加或减少数量的按钮(.product-quantity-details .quantity)。我使用jQuery发送AJAX请求:

document.getElementById('link1').addEventListener('click', function(ev){
    ev.preventDefault();
    var html ;
        $.ajax({
        url: this.href,
        type: "GET",
        dataType: "html",
          success: function(data) {
              html = $(data).find('.product-quantity-details .quantity').html();
              console.log(html); 
              $(".product-quantity-details .quantity").text(html);
          }
    });
});

服务器返回整个购物车的HTML表示形式(包括上面代码中未显示的其他项)。我不能简单地用响应替换容器,因为有图像加载,如果我使用jQuery.replaceWith(),它们不会出现。所以目前我只能更新一个数量。 有没有一种方法可以更新每个数量,因此可以从$(data).find('.product-quantity-details .quantity').html();获取一个值数组,在那里我可以迭代并替换HTML中的现有文本?
还是有更好的方法来实现我的目标(更新HTML中的任意数量)。 我想到了简单地使用html = $(data).find('.product-quantity-details .quantity');,是否可以保证此数组具有HTML元素的顺序?

1 个答案:

答案 0 :(得分:0)

简单地使用,我还没有遇到任何无法维持html元素顺序的情况。另外,您具有索引属性,该属性将给出职位编号。

RewriteCond %{HTTP_HOST} ^sk\.
RewriteCond %{THE_REQUEST} /search(?:\.php)?\?(?:.*&)?fp=([^&]+).*&tp=([^&\s]+) [NC]
RewriteRule ^ /spolujazda/%1/%2/ [R=301,L,NE]