如果在div中找到值,则按类名称更新最近跨度的值

时间:2019-04-21 20:36:25

标签: javascript jquery html

我有一个div,里面有两个spans,我正在检查该div内部是否已经有文本,如果确实存在,则更新{ {1}}。

这是我的div的结构:

span

当在<div class="top-cart-items"> <div class="top-cart-item clearfix"> <div class="top-cart-item-desc">Orange Club <span class="top-cart-item-price">£2.99</span> <span class="top-cart-item-quantity">x1</span> </div> </div> <div class="top-cart-item clearfix"> <div class="top-cart-item-desc">Blue Tang <span class="top-cart-item-price">£2.99</span> <span class="top-cart-item-quantity">x1</span> </div> </div> <div class="top-cart-item clearfix"> <div class="top-cart-item-desc">Soft Ball <span class="top-cart-item-price">£3.99</span> <span class="top-cart-item-quantity">x1</span> </div> </div> </div> 中找到一个字符串时,我想使用jQuery更新.top-cart-item-desc。有很多同名的div和span,所以我无法找到字符串的位置并进行更新。

这是我到目前为止尝试过的。

.top-cart-item-quantity

我也尝试过$('.add').click(function(){ var name = $(this).attr("data-name"); var price = parseFloat($(this).attr("data-price")); var quantity = 1; if($('.top-cart-item-desc').text().indexOf(name) != -1) { $(this).closest('.top-cart-item-desc span.top-cart-item-quantity').text('15'); } }); siblings(),但都没有用。

这里是fiddle

1 个答案:

答案 0 :(得分:1)

尝试引入地图变量来存储添加的新项目,然后您可以:

items[item].find('span.top-cart-item-quantity')

链接: https://jsfiddle.net/3ajzmLnr/