В чому різниця між '$(це)' і 'це'?
В даний час я працюю з цим підручником: Початок роботи з jQuery.
Для двох прикладів нижче:
$("#orderedlist").find("li").each(function (i) {
$(this).append(" BAM! " + i);
});
$("#reset").click(function () {
$("form").each(function () {
this.reset();
});
});
Зверніть увагу, що в першому прикладі ми використовуємо $(this)
для додавання тексту всередині кожного елемента li
. У другому прикладі ми використовуємо this
безпосередньо при скиданні форми.
Здається, що $(this)
використовується набагато частіше, ніж this
.
Я вважаю, що в першому прикладі $()
перетворює кожен елемент li
в об'єкт jQuery, який розуміє функцію append()
, тоді як у другому прикладі reset()
може бути викликаний безпосередньо на формі.
В основному $()
потрібна для спеціальних jQuery-функцій.
Чи правильно це?
560
3
Так, вам потрібен
$()
тільки тоді, коли ви використовуєте jQuery. Якщо вам потрібна допомога jQuery для роботи з DOM, просто майте це на увазі.По суті, кожного разу, коли ви отримуєте набір елементів назад, jQuery перетворює його на об'єкт jQuery. Якщо ви знаєте, що у вас є тільки один результат, він буде в першому елементі.
І так далі...
Так, для функцій jQuery потрібен
$(this)
, але коли ви хочете отримати доступ до базових методів javascript елемента, які не використовують jQuery, ви можете просто використовуватиthis
.Так, використовуючи
$(this)
, ви включили функціональність jQuery для об'єкта. Просто використовуючиthis
, він має лише загальну функціональність Javascript.