Если я ajax любой ввод в мою страницу работает следующий код, но если я печатаю какой-то определенный код, я получаю исключение, предупреждение test3 никогда не срабатывает.
alert("test2"); $(html).hide().prependTo("#current table.vtable").fadeIn("slow"); alert("test3");
Я получаю исключение jquery:
Uncaught TypeError: Cannot set property 'cur' of undefined
Как я уже сказал, CSS работает правильно, я пробовал печатать другие классы, и он отлично работает, единственное различие заключается в том, что я использую
print <<<END ... END;
Вместо обычной печати и tr – это другой класс
Я просто столкнулся с этой проблемой после обновления с jQuery 1.7 до 1.9. Это ошибка при реализации fadeIn ().
Это связано с тем, что метод data () теперь возвращает неопределенный, а не нулевой, когда вы запрашиваете ключ, который не существует.
Во всяком случае, обходной путь, который я нашел, заключается в том, чтобы сначала добавить данные, а затем получить дескриптор jquery для нового, добавленного контента и угасить его.
Поскольку вы вставляете новый контент в таблицу, вам немного надоест, чтобы найти то, что вы только что вставили, так как это не первый ребенок (он неявно обернут тегом «tbody»). Я работал над этим , установив временный атрибут вставленной вещи, выполнив поиск и удалив ее. Очевидно, это гигантский взлом, но он работает.
var html = "<tr><td>new thing1</td><td>new thing2</td>"; $("#clickme").click(function () { var target = $("#current table.vtable"); $(html).attr("jquery_workaround","sigh").hide().prependTo(target); var newstuff = target.find("[jquery_workaround=sigh]"); newstuff.removeAttr("jquery_workaround").fadeIn("slow"); });
Для возиться: http://jsfiddle.net/BUVUj/