2009-11-04 54 views
2

Firefox和Internet Explorer似乎以不同的方式處理jQuery中的空修飾符。jQuery的瀏覽器不一致:空。我如何解決這個問題?

IE有趣的是,它的工作方式是我想要它,但Firefox似乎將白色空間計爲一個實際的字符。這因此呈現使用:空完全無用,因爲我看不到DIV是否爲空。

我基本上有一組DIV與他們的一類物品。我想刪除所有沒有內容的DIV,儘管可能存在空白區域。我嘗試使用這樣的:

$(".item:empty").remove();

然而,其上運行的字符串的長度的檢查顯示,火狐仍然認爲在一個空的DIV有字符...儘管這只是空白。

所以,我想修太:

if($.trim($(".item").text()) == "") { $(".item").remove(); }

然而,微調功能似乎並沒有對此產生影響。現在怎麼辦??

我的標記是像這樣:

<div class="item"></div> <div class="item">hello 3</div>

我想擺脫所有DIV的什麼也沒有在他們。

任何想法?

非常感謝, Michael。

回答

1

現在沒事了。

我到底做了什麼是這樣的:

$(".item").each(function(myItem){ var myItem = jQuery.trim($(this).text()); if(myItem.length == 0) { $(this).remove(); } })

希望它可以幫助別人的未來。

+0

是的,.text()在你的第一個例子中不起作用,因爲它將** all **元素的合併文本與類「item」相關聯,所以如果頁面上有任何.item文本你的比較會失敗。很高興你解決了它。 – Aaron 2009-11-04 14:54:55