проблема cloneNode с узлами HTML5 в IE - PullRequest
2 голосов
/ 19 августа 2011

Я пытаюсь клонировать узел HTML, используя метод cloneNode () API DOM браузера и даже используя функцию Jquery clone ().API отлично работает с тегами HTML, однако я сталкиваюсь с некоторыми проблемами при использовании его с тегами HTML5, такими как время, например

. Проблема в том, что следующий <time> контент тегов <time class="storydate">April 7, 2010</time> преобразуется в: <: timeclass = storydate awpUniq = "912"> 7 апреля 2010 г. Хотя IE правильно отображает исходный узел времени, почему такая проблема с API-интерфейсом клона.

И эта проблема не наблюдается в FF / chrome.Пожалуйста, дайте некоторую подсказку, как этого избежать

1 Ответ

3 голосов
/ 21 февраля 2013

Это поможет?Из списка вопросов HTML5 Shiv:

http://code.google.com/p/html5shiv/issues/detail?id=28

Ссылки на

http://pastie.org/935834#49

выглядят так:

// Issue: <HTML5_elements> become <:HTML5_elements> when element is cloneNode'd
// Solution: use an alternate cloneNode function, the default is broken and should not be used in IE anyway (for example: it should not clone events)

// Example of HTML5-safe element cloning
function html5_cloneNode(element) {
  var div = html5_createElement('div'); // create a HTML5-safe element

  div.innerHTML = element.outerHTML; // set HTML5-safe element's innerHTML as input element's outerHTML

  return div.firstChild; // return HTML5-safe element's first child, which is an outerHTML clone of the input element
} // critique: function could be written more cross-browser friendly?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...