如果div包含超过'x'的数字,请插入html

时间:2013-09-27 10:57:36

标签: jquery html

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

1 个答案:

答案 0 :(得分:3)

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

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

另请注意,您应指定.parseInt()方法的基数,否则会出现意外结果。

parseInt(str, radix);