删除HTML长度小于X个字符的元素

时间:2013-01-17 16:03:58

标签: jquery

我正在尝试使用class=galleryLink查找HTML小于X个字符的所有元素,然后将其从DOM中删除。这是我最好的猜测:

if($('.galleryLink').html().length < 95){
    this.remove();
}

2 个答案:

答案 0 :(得分:4)

你正朝着正确的方向前进,但你并不在那里。在您的示例中,this将如何引用您要删除的元素?

您必须将其应用于所有匹配元素:

$(".galleryLink").filter(function () {
    return $(this).html().length < 95;
}).remove();

请注意,.html()方法返回元素中的标记。您可能更喜欢.text()

.filter()方法将函数应用于匹配集中的每个元素。如果它返回真值,则该元素保留在集合中。因此,在过滤器之后,您将留下内容长度小于95个字符的所有元素。

.remove()方法适用于匹配集中的所有元素。由于该集合现在已经被过滤掉了你想要摆脱的元素,它应该可以胜任。

答案 1 :(得分:0)

您可以使用.filter()在删除元素之前对其进行过滤:

$('.galleryLink').filter(function() {
    return $(this).html().length < 95;
}).remove();