2017-05-17 57 views
0

所以在電子商務網站,那裏有它有很多的產品的列表頁面,每一個都包含在£的價格被存儲在所謂的div .pri下的每個稱爲.productListItem產品容器顯示副本,如果門限符合

如果某產品的價值超過120英鎊,我想在每個產品的.pri div附加一些文字,否則,如果產品不到120英鎊,則什麼也不做。

我只是想不通我在做什麼錯在這裏:

var price = ($('.productListItem .itemPrice .pri').text()).replace(/[^0-9.]/g, ''); 
 
    
 
if (price >= '120') {  
 
$('.productListItem .itemPrice .pri').append('<div class="FDbadging">+FREE DELIVERY</div>'); 
 
} else { 
 

 
}

任何幫助嗎?

+0

看看'$ .each' – Alex

+0

@Alex感謝,但我想最初加入**('。productListItem .itemPrice .pri')。each(function(i,obj){* *最初開始但沒有任何反應,所以我把它移到這裏發佈,只是因爲如果我還爲else添加了一個** else **語句,如果它運行else語句,無論它是高於還是低於閾值。因此,我在上面發佈的聲明中確定閾值時必然會出現錯誤。我希望這是有道理的? – Chobbit

回答

1

請嘗試以下操作。小提琴:https://jsfiddle.net/beekvang/j24udwfn/

$('.productListItem .itemPrice .pri').each(function(){ 
 
    var price = $(this).text().replace(/[^0-9.]/g, ''); 
 
alert(price); 
 
    if (price <= 119) { 
 
$(this).siblings('.FDbadging').remove(); 
 
    } else { 
 
$(this).append('<div class="FDbadging">+FREE DELIVERY</div>'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

這是在某個地方,它現在在每個產品下添加消息,不管它是什麼閾值,但是它在做什麼是在每個產品下複製超過閾值的產品的準確數量(請參閱圖像示例:https:/ /ibb.co/dLgrD5 6個產品超過了這個頁面的門檻),所以它是檢測產品超過閾值某處 – Chobbit

+0

我做了一些調整和測試在jsFiddle – Gerard

+0

驚人的謝謝你,那些調整釘了它,很高興知道我沒有幾英里(即使我最初粘貼了錯誤的代碼),你知道我的目標是什麼:D – Chobbit

1

試試這個代碼

$('.productListItem .itemPrice .pri').each(function(){ 
var subTotal = $(this).text().replace(/[^0-9.]/g, ''); 
if (subTotal <= 119) { 
$(this).siblings('.FDbadging').remove(); 
} else { 
    $(this).append('<div class="FDbadging">+FREE DELIVERY</div>'); 
} 
}); 

DEMO

+0

與上述非常相似,測試它並非常感謝 – Chobbit