2013-06-19 71 views
4

我有一個問題瓦特/ IE瀏覽器,我在我的tr有大量'空文本節點'。如果我運行jquery - 刪除IE的「空文本節點」

$('#myTr').children().length 

$('#myTr').find('td').length 

我得到相同的值,這意味着這些節點不使用jQuery註冊。 :empty選擇器回來沒有。最重要的是,如果我從IE調試器中手動刪除這些節點,我的格式會發生變化,所以這裏有一些內容正在發生。

下面是我在IE中看到調試器(IE 8,順便說一句):

enter image description here

任何想法?這是推動我們堅果..

+4

什麼是與空文本節點的問題?也就是說,他們爲什麼打擾你和/或干擾你的目標? – jimbojw

+1

我在那裏得到古怪的格式(間歇!)。當他們被手動刪除時,格式很好。 –

+1

如果文本節點出現問題,您甚至可以將tr的font-size設置爲0px,然後將它們設置爲任何字體大小通常用於tds的。我在使用display:inline-block的樣式中使用這個元素。 (當然如果你使用固定的字體大小) –

回答

1

HTML是空白不可知的,所以它不應該問題,有空文本節點。我懷疑你有一個稍微不同的問題,這恰好通過刪除文本節點來解決。

例如,手動刪除文本節點可能會強制重排或重新繪製文檔,從而糾正渲染錯誤。或者可能在調試器中觸發父節點(推測)上的節點hasLayout

+0

不完全正確。例如,在CSS3中,pseudoselector:empty也會考慮空的文本節點。 – Andree