Изменить содержимое div в IE8, используя JavaScript - PullRequest
0 голосов
/ 17 июня 2011

Я пытаюсь изменить содержимое div, используя javascript / jquery. Пока код работает на IE9, FF, Chrome, Safari и Opera. Это не работает в IE 8. Я уже пробовал .append, .appendTo, .innerHTML. Содержимое контейнера div всегда пусто

Что может быть не так. Код

<script type="text/javascript">
jQuery(document).ready(
function()
{
var containers = jQuery('.page_content');


if (!containers.length)
{
return
}
var container = containers.eq(0);

container.block();
jQuery.get("<?php echo Router::url( array('controller' => 'user',
                        'action' => 'profile',
                        'admin' => false));
 ?>
    ", function(data)
    {
    if (jQuery.browser.msie)
    {

        alert(container.html()); //returns correct result
        container.empty();
        container.innerHTML = new String(data); 
        alert(data); //shows right output, some html
        alert(container.html()); //is always empty
    }
    else
    {
        container.html(data);
    }
    container.unblock();
    }
    );

    }

    );
</script>

Ответы [ 3 ]

1 голос
/ 17 июня 2011

Использовать replaceWith :

$(container).replaceWith(data);

То есть, если data такое же содержание div, что и оригинал.

Примечание. Я использую IE8 для тестирования.

0 голосов
/ 02 июля 2013

Я только что решил проблему, используя следующий код

error: function (data) {
    var resultedHTML = data.responseText;
    $('#Import-1').html(resultedHTML);
    return false;
}

ответ не работал для меня. Следовательно, я решил это, используя responseText

0 голосов
/ 17 июня 2011

Если вы просто хотите сбросить данные в контейнере, вы можете сделать это:

container.html(data);

Проверьте, что происходит, когда вы передаете строку в .html (htmlString)

Возможно, ваш селектор не работает должным образом. Если вам нужен только первый элемент с классом .page_content, почему бы не сделать:

var container = jQuery('.page_content:first');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...