我正在尝试使用class=galleryLink
查找HTML小于X个字符的所有元素,然后将其从DOM中删除。这是我最好的猜测:
if($('.galleryLink').html().length < 95){
this.remove();
}
答案 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();