jquery .html() не работает в IE, если используется тег ОБЪЕКТА

#jquery #html #internet-explorer

#jquery #HTML #internet-explorer

Вопрос:

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

 <div id="object-container">
    <object data="some-file.swf">
        <param name="src" value="some-file.swf" />
    </object>
</div>
  

Я хочу захватить содержимое #object-container и вставить их в другое место на странице. Код, который я должен сделать, отлично работает в firefox, но в IE он получает только открывающие и закрывающие теги object, а не теги param:

 var code = $('#object-container').html();
$('#other-div').html(code);
  

Кто-нибудь знает, как надежно получить ПОЛНЫЙ HTML из div в IE?

РЕДАКТИРОВАТЬ: все остальные теги работают в IE

 $('#other-div').html("Other HTML Code Displays Correctly <h1/>");
  

Спасибо всем

Комментарии:

1. Я попробовал это в IE 9, и все содержимое скопировано просто отлично, jsfiddle.net/Xr5xS вам нужно будет проверить результаты с помощью инструментов разработчика, но они есть.

2. @Cold Нет. <param> съедено .

Ответ №1:

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

 var code = document.getElementById('object-container').innerHTML;
$('#other-div').html(code);
// or document.getElementById('other-div').innerHTML = code;
  

Надеюсь, это сработает

Комментарии:

1. Нет, html() вызывает innerHTML , так что разницы нет.

2. Всем спасибо, он отлично работает с JavaScript. document.getElementById(‘other-div’).innerHTML = code; Проблема заключается в ошибке jQuery, как я думаю, и объясняется здесь по ссылке

Ответ №2:

Замените свой JS-код на $('#object-container').clone().appendTo('#other-div');