| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > не отображается таблица с $.getJson() |
| Автор: dmitryk1 10.10.2008, 12:17 | ||
в дебаггере смотрю $('body").html() появляется только <table id='jst'></table>, а всяческие <tr></tr> и <td></td> не аппендятся. А вот $(tr).append("<td></td>").text(data[i][j]); добавляет текст <table id='jst'> вот сюда </table> соответственно там оказывается последняя цифиря в массиве. это всё по просмотру в отладчике. страничка в ие девственно чиста :-/ |
| Автор: ZlojEzh 12.11.2008, 21:50 | ||
после выполнения
переменная tr содержит объект jquery поэтому дальше следует писать не $(tr).append( а просто tr.append( не проверял, но, мне кажется, должно помочь |
| Автор: ksnk 12.11.2008, 23:40 | ||
| ZlojEzh, налицо непонимание основ идеологии jQuery Идеологическая мысль, которую следует запомнить - в результате цепочки действий мы имеем дело с тем-же объектом, с которого цепочка началась. Исключения есть, но в каждом случае в документации специально об этом говорят, и вроде как извиняются Итого, tr=$("table#jst").append("<tr></tr>") даст нам tr, работающий с table#jst. Дальнейшая работа с ним поменяет внутренности таблицы, что ни к чему хорошему привести не может... Нужно пользоваться функцией appendTo, да и конструкции <tr></tr> эффективнее и правильнее сократить до tr. что-нибудь вроде
ZlojEzh, Вообще говоря, $(tr), если tr уже объект jQuery вернет его-же. |
| Автор: ksnk 15.11.2008, 18:49 | ||||
Мда... чего-то я в последнее время часто гоню. Надо бы начинать проверять то, что я тут задвигаю... Сократить, конечно, можно вот только до "<tr>", без угловых скобок оно действительно воспринимается как селектор. Да и особой эффективности как-то не ожидается, разве что на 4 байта меньше... проверить сию конструкцию легко вот так
|