2013-06-19 5 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

Я получаю wacky форматирование (с перерывами!) С ними там. Когда они удаляются вручную, форматирование в порядке. –

+1

Если текстовые узлы являются проблемой, вы можете даже установить размер шрифта в 0px для tr, а затем установить для них размер вашего шрифта, как правило, для tds. Я использую это для стилей элементов I, используя display: inline-block. (это, конечно, если вы используете фиксированные размеры шрифтов) –

ответ

1

HTML является непрозрачным агностиком, поэтому не должен, что есть пустые текстовые узлы. Я подозреваю, что у вас есть несколько другая проблема, которая может быть решена путем удаления текстовых узлов.

Например, ручное удаление текстовых узлов может привести к переделке или перерисовке документа, который исправляет ошибку рендеринга. Или, может быть, возиться с узлами в триггерах отладчика hasLayout на родительском (предположение).

+0

Не совсем верно. Например, в CSS3 псевдоселектор: empty также рассматривает пустые текстовые узлы. – Andree

Смежные вопросы