воскресенье, декабря 09, 2007

JavaScript: JQuery

На повестке дня два вопроса. Точнее вопрос из них только один, второе приятная вещь, которой научился недавно.

1. Вопрос про AJAX. Допустим, запрашиваем у скрипта определённое количество информации, которую потом нужно отобразить в виде таблицы. По началу я делал так: получаем данные в скрипте, там же формируем необходимый html код, возвращаем его в javascript и вставляем в нужную таблицу (метод appendTo). Вроде всё работает и всё хорошо.
Чуть погодя возник собственно вопрос - а правильно ли это?
Есть второй способ - получит данные и вернуть его ввиде JSON. После этого силами javascript на лету собирать нужную таблицу и вуаля.
Второй способ мне кажется правильнее и логичнее, но...
Плюс первого - формирование таблицы сервером пройдёт быстрее.
Минусы первого - возрастёт количество передаваемого трафика, что не может не повлиять на общую работу системы.
Плюсы второго - минимум трафика, так как передаются только необходимые данные.
Минусы второго - скорость формирования таблицы с помощью javascript оставляет желать лучшего.
Интересно, как всё же делать правильно? В общем, вопрос остаётся открытым.

2. Как я уже говорил, это не вопрос, а просто приятность, обнаруженная мною у JQuery.
Создавая объект на лету, часто приходиться задавать ему большое количество дополнительных параметров (класс, идентификатор, имя, оформление, ...).
Так вот, в JQuery можно создавать цепочки команд, применяя их к одному объекту. На примере будет всё понятно.
Можно делать так:
var object = document.createElement('div');
$(object).addClass('block');
$(object).attr('id', 'block_id');
$(object).text('#')
$(object).appendTo($(tr));
А можно так:
var object = document.createElement('div');
$(object).addClass('block').attr('id', 'block_id').text('#').appendTo($(tr));
Согласитесь, что получилось значительно короче и удобнее.

Ссылка по теме: обсуждение на хабре

Комментариев нет: