1

如果产品的价格超过 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”,我的代码也会插入免费送货元素。有什么建议么?

4

1 回答 1

3

.filter()返回一个 jQuery 对象(即使集合为空)并且对象是 JavaScript 中的真值,您应该读取.length返回对象的属性。

if ( $('.num').filter(function() { return [condition] }).length ) {
    ... 
}

另请注意,您应该为.parseInt()方法指定基数,否则您会得到意想不到的结果。

parseInt(str, radix);
于 2013-09-27T11:00:56.250 回答