如果产品价格超过50英镑,我正在尝试制作免费送货横幅。
我的尝试:
$(function() {
if( $('.num').filter(function(index){
return parseInt(this.innerHTML) > 50.00;})) {
$(document.createElement('div')).attr('id', 'freeDelivery').appendTo('.imgoffer');
$('#freeDelivery').append('<img id="freeDeliveryImage" alt="Free delivery on this item" src="https://location_of_image.png" width="70" height="70">');
}
});
即使金额未超过“x”,我的代码也会插入免费投放元素。有什么建议吗?
答案 0 :(得分:3)
.filter()
返回一个jQuery对象(即使该集合为空)并且一个对象是JavaScript中的truthy值,您应该读取返回对象的.length
属性。
if ( $('.num').filter(function() { return [condition] }).length ) {
...
}
另请注意,您应指定.parseInt()
方法的基数,否则会出现意外结果。
parseInt(str, radix);