删除子元素包含大于特定值的文本的所有div

时间:2014-06-23 19:14:57

标签: jquery html css

我正在寻找一种方法,使用类" property_container"删除我页面上的所有DIV。包含文本小于某个值的子元素(最好使用jQuery)。我意识到<里面的文字了。 p>为了运行比较方法,需要将子元素转换为仅数字值。

对于HTML,请参阅:http://jsfiddle.net/TqLs4/

现在,作为朝这个方向迈出的一步,我试过了:

$(".property_container")
    .find(".property:contains('200000')")
    .parent()
    .remove();

我知道contains方法不是我需要的数字if / then逻辑......基本上,我认为我需要看起来像这个垃圾伪代码的东西:

$(".property_container")
    .find((".price")asNumber < 200000)
    .parent("property")
    .remove();

或者,用自然语言:如果div.property_container的p.price(一个孩子)有一个数值(从&lt; p&gt;标签中包含的文本值转换)小于200,000那么隐藏/删除整个div.property_container。

1 个答案:

答案 0 :(得分:4)

使用.filter

$(".property_container .price").filter(function() {
    return parseInt($(this).text().replace(/\D/g, ''), 10) < 200000;
}).closest(".property_container").remove();

我注意到你的小提琴中的文字不是数字,它包含一个美元符号和逗号分隔符,所以我在解析它之前使用replace()删除它们。

Updated fiddle