Почему метод jQuery .html() не работает с пользовательскими тегами в IE8?

StackOverflow https://stackoverflow.com/questions/2431696

Вопрос

У меня есть следующий HTML-код:

<mytag>
      Just Some Text
</mytag> 

И у меня есть эта команда jQuery

$('mytag').each(function () { alert($(this).html()); });

Во всех браузерах, кроме IE, я получаю внутренний HTML, в IE — нет.Кто-нибудь может пролить свет на эту тайну?Я тестировал это с IE8, Mozilla, Opera, Chrome и Safari.

Это было полезно?

Решение

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

Я предполагаю, что вы можете обойти это (это работает для применения CSS) с помощью:

document.createElement('mytag')

… но вам лучше написать HTML (или написать XML и использовать его как application/xml).

Другие советы

Для IE вам нужно поместить это в свой тег -> xmlns='mytag'

<mytag xmlns='mytag'>
  Just Some Text
</mytag>

теперь IE и все другие браузеры могут «видеть» ваш тег

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top