Применение стилей к динамически вводимому элементу div с помощью вызова AJAX (xhrGet) - PullRequest
2 голосов
/ 22 января 2011

Эй, ребята, я использую приведенный ниже код для получения обновленного содержимого после получения события «push» с сервера.Затем обновленный контент используется для замены уже существующего элемента div / content.

Проблема, с которой я столкнулся, заключается в том, что ни один из моих стилей из моей внешней таблицы стилей не применяется к этому новому контенту.

Мне имеет смысл, почему это произойдет ... но нет ли способа обойти это?Я могу применять стили динамически, как я сделал в некоторой степени ниже, но кажется, что должен быть более простой способ.

Нет способа автоматически применить стили из внешней таблицы стилей кдинамически загружаемый контент?

См. код ниже:

loadContent = function(page, count) {
    var xhrArgs = {
        url: '/content/'+page+'/'+count+'/',
        handleAs: 'text',
        load: function(response) {
            dojo.byId('content').innerHTML = response;

            dojo.query('.dropdown').forEach(function(node, index, arr) {
                dojo.style(node, 'display', 'none'); // **This defaults to "display: none" in the stylesheet, but it's not applied until I do this**
            });
        },
        error: function(error) {
            console.debug('error loading content');
        }
    };

    var deferred = dojo.xhrGet(xhrArgs);
};

1 Ответ

2 голосов
/ 22 января 2011

Таблицы стилей уже применяются динамически. Если этого не происходит, возникает ошибка, и, возможно, новый контент не имеет имен тегов и атрибутов, к которым применяется ваш CSS. Поэтому дважды проверьте возвращенные данные и используйте Firebug, чтобы помочь вам с этим новым контентом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...