jQuery - проблема с использованием .css () с данными ajax - PullRequest
1 голос
/ 03 марта 2011

Это должно быть очень просто, но по какой-то причине я поставлен в тупик ...

Я пытаюсь установить положение элемента при загрузке страницы из данных ajax

вот так:

$.ajax({
    url: "session_data.php",
    type: 'POST',
    async: false,
    success: function (data) {
        $('#dragable_box').css( data );
        console.log("Stored Session Data: " + data);
    }
});

переменная data возвращает правильный результат, поскольку я вижу его в консоли, и я попытался скопировать результат как тест, и он позиционировал элемент, как и ожидалось.Это просто не будет работать с data ...

Я пробовал с и без async: false

Что я делаю неправильно или не делаю?

1 Ответ

1 голос
/ 03 марта 2011

Несколько вещей о css ():
.css () с одним строковым параметром, таким как .css('font-size'), вернет размер шрифта соответствующего элемента.
.css('font-size', '1.1em') установит размер шрифта для соответствующего элемента в 1.1em.
.css({'font-size':'1.1em'}) также установит размер шрифта сопоставляемого элемента равным 1.1em.

Кроме того, если вы подразумеваете, что данные являются литералом объекта, подобным {'text-color': red}, вам, вероятно, нужно добавить параметр dataType: 'json' в ваш вызов .ajax (). Скорее всего, это строка, которая выглядит как литерал объекта, когда вы выводите его на консоль. Объявление вашего возвращаемого типа json приведет к тому, что jQuery оценит результат и даст вам литерал объекта, который вы можете передать в .css ().

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