0

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

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

2 回答 2

4

你正在寻找正确的方向,但你并不完全在那里。在您的示例中,如何this引用您要删除的元素?

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

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

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

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

.remove()方法适用于匹配集中的所有元素。由于该集合现在已被过滤为您想要摆脱的元素,它应该可以完成这项工作。

于 2013-01-17T16:06:36.823 回答
0

您可以.filter()在删除元素之前使用它来过滤元素:

$('.galleryLink').filter(function() {
    return $(this).html().length < 95;
}).remove();
于 2013-01-17T16:06:56.160 回答