以下是我想要实现的想法。但是我知道$(this)
不能以这种方式工作,我只是不知道如何解释我想要做的事情:
if($('.price').text() || $('.productPrice').text() == "£0.00"){
$(this).text('See Product');
}
HTML:
<p class="price">£0.00</p>
或<p class="productPrice">£0.00</p>
我希望如果元素的文本匹配£0.00,它会将其更改为“See Product”。我希望这是有道理的
答案 0 :(得分:2)
您可以通过将函数传递到text
:
$('.price, .productPrice').text(function(index, text) {
return !text || text == "£0.00" ? "See Product" : text;
});
当你传入一个函数时,jQuery会为每个元素调用一次函数,并将元素的文本设置为你返回的元素。 (注意第一个参数是索引,你不会使用它;第二个参数是你想要的那个。)
答案 1 :(得分:1)
尝试类似:
$('.price, .productPrice').each( function(i, el){
if($(this).text() === "£0.00") { $(this).text('See Product'); }
});