Почему JQuery 1.9 в IE8 спотыкается на такой конструкции
var tag = $('.xxx').remove()[0].outerHTML
Старые версии jQuery срабатывают нормально, в новых браузерах и новая версия не глючит |
var tag = $('.xxx').remove().get(0).outerHTML
|
Та же фигня. [0] просто короче для записи
|
Цитата:
|
<script type="text/javascript" src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script> <div class="xxx">asfasf</div> <script type="text/javascript"> //Костыль var ReturnOuterHTML = (function( b ){ return function(obj) { b.innerHTML=""; b.appendChild(obj.get(0)); return b.innerHTML; } })( document.createElement( 'b' ) ); alert( ReturnOuterHTML($('.xxx').remove())); </script> |
Shitbox2, outerHTML в Firefox появился только с 11-й версии.
Схожий вопрос. |
Так дело-то в том, что jQuery 1.8x прекрасно обрабатывал этот код во всех браузерах, а 1.9 не жалует IE8. Это теперь придется старую версию использовать?
На конструкциях типа var tag = $('.xxx').remove()[0].outerHTML движок строится, без него ничего работать не будет... |
То-есть вас не смущает что код не работает в Firefox < 11, но вы недовольны что он не работает в IE8 ?
Этот код должен исправить проблему. Плюс используется решение в стиле jQuery. <script src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script> <div class="xxx">asfasf</div> <script> $.fn.ohtml = function(){ return this[0].outerHTML || new XMLSerializer().serializeToString(this[0]); } alert($('.xxx').remove().ohtml()); </script> |
Не смущает) Фаерфоксом пользуются неадекватные люди или программисты, а Эксплорером — те, кто не разбирается в компьютерах, они-то не должны страдать
Решение да, хорошее |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 08:27. |