Непоследовательные пробельные текстовые узлы в Internet Explorer

Вы не упомянули, для чего вы создаете приложение, но вы в основном говорите о «представлениях», которые отображают информацию, основанную на доступе пользователя и странице, которую они просматривают.

Я процитирую страницу из угловых документов: https://docs.angularjs.org/tutorial/step_09

Чтобы добавить подробный вид, мы собираемся превратить index.html в то, что мы называем «шаблоном макета». Это шаблон, который является общим для всех представлений в нашем> приложении. Другие «частичные шаблоны» затем включаются в этот макет> шаблона в зависимости от текущего «маршрута» - представления, которое в данный момент отображается> пользователю.

BLOCKQUOTE>

7
задан 3 revs 11 November 2008 в 18:05
поделиться

4 ответа

IE пытается быть полезным и скрывает текстовые узлы, которые содержат только пробел.

В следующем:

<p>
<input>
</p>

спецификация W3C DOM говорит, что <p> имеет 3 дочерних узла (" \n", <input> и "\n"), IE притворится, что существует только один.

решение состоит в том, чтобы пропустить текстовые узлы во всех браузерах:

var node = element.firstChild;
while(node && node.nodeType == 3) node = node.nextSibling;

Популярные платформы JS имеют функции для таких вещей.

10
ответ дан 7 December 2019 в 01:28
поделиться

Хорошо... Я сказал бы причину это, что это - IE. Я не думаю, что у программистов было определенное намерение сделать это тот путь.

0
ответ дан 7 December 2019 в 01:28
поделиться

Я предполагаю, что тег таблицы отличается между браузерами.

, например, который автоволшебно содержат узлы таблица по умолчанию?

<table>
  <thead>
  </thead>
  <tbody>
  </tbody>
  <tfoot>
  </tfoot>
</table>
0
ответ дан 7 December 2019 в 01:28
поделиться

Почему не только пытаются обойти DOM и видят то, что каждый браузер думает, что документ содержит?

IE делает большую "оптимизацию" DOM. Для получения впечатления от того, на что это могло бы быть похожим, "Выбирают все", "Копия" в IE, и затем "Альтернатива Вставки" в Visual Studio, Вы получаете следующее:

<INPUT value="Submit Query" type=submit> 
<INPUT value=Reset type=reset> 
<INPUT type=button> 
<INPUT type=text> 
<INPUT value="" type=password> 
<INPUT type=file> 
<INPUT type=hidden>
<INPUT type=checkbox>
<INPUT type=radio>
<BUTTON type=submit></BUTTON> 
<SELECT></SELECT>
<TEXTAREA></TEXTAREA> 

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

0
ответ дан 7 December 2019 в 01:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: