Почему 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, время: 03:55. |