我試圖找到class=galleryLink
所有元素誰的HTML小於X字符,然後從DOM中刪除。這是我最好的猜測:與HTML長度大於X字符少刪除元素
if($('.galleryLink').html().length < 95){
this.remove();
}
我試圖找到class=galleryLink
所有元素誰的HTML小於X字符,然後從DOM中刪除。這是我最好的猜測:與HTML長度大於X字符少刪除元素
if($('.galleryLink').html().length < 95){
this.remove();
}
你正在尋找正確的方向,但你不是那裏。在你的榜樣,怎麼會this
以往指的是你要刪除的元素呢?
你必須適用於所有匹配的元素:
$(".galleryLink").filter(function() {
return $(this).html().length < 95;
}).remove();
注意,.html()
方法會返回元素內的標記。您可能更喜歡.text()
。
的.filter()
方法應用一個函數在匹配組的每個元素。如果它返回真值,則該元素保留在集合中。因此,在過濾器之後,您將留下所有內容長度小於95個字符的元素。
的.remove()
方法適用於在匹配集合的所有元素。由於該集合現在已被過濾到您想要擺脫的元素,因此它應該完成這項工作。
過濾':input'元素的語法是什麼? '.remove(':not(:input)')'? –
@JeromyFrench - 也可以做''.filter'回調中的工作。 'return!$(this).is(「:input」)&& ...' –
就像一個魅力!謝謝- –
你可以使用.filter()
刪除它們之前過濾下來的元素:
$('.galleryLink').filter(function() {
return $(this).html().length < 95;
}).remove();
你是什麼意思是「誰的HTML小於X字」嗎?你的意思是文字內容? – zzzzBov
是的......我不是在談論表單字段,只是在這些DIV中有HTML內容的DIV。它將主要是IMG標籤,所以它將是實際的HTML。 –
文本內容是html內容有很大不同。你的意思是包含所有的特殊字符,編碼,引導空白和註釋嗎?或者你是否只想過濾其中包含文本的元素? – zzzzBov