Почему JQuery .html () возвращает ноль? - PullRequest
2 голосов
/ 22 февраля 2011

У меня есть набор тестов QUnit, и я вызываю

 $('#idForElement').html();

внутри теста QUnit (который зарегистрирован на $(document).ready(), а затем запущен), но эта функция возвращает null в Chrome, Firefoxи IE.

Однако , на вкладке сценария Firebug в Firefox я могу получить ожидаемую строку, добавив код в качестве выражения наблюдения и могу видеть элемент HTML, отображаемый настраница и вкладка HTML Firebug.

Я прочитал http://api.jquery.com/html/, Я назначил это в новую var, инициализированную строку, поместил результат $('#idForElement'); в переменнуюи вызвал .html(), попробовал оповещения в этих браузерах.

Какой следующий шаг, чтобы это заработало?

Ответы [ 2 ]

4 голосов
/ 22 февраля 2011

Это может зависеть от того, когда вы вызываете эту функцию. Если вы сделаете это до события document.ready , элемент может еще не существовать. Попробуйте обернуть ваш код так:

$(document).ready(function () {
    //your code goes here
});
2 голосов
/ 22 февраля 2011

Ошибка новичка.

Звонил $('#idForElement'), но устанавливал переменную в $ ('idForElement').

Оказывается, вы можете добавить к пустому упакованному набору.

...