jQuery: разница между указателями $(this) и this

Да, Вы всё правильно понимаете. Вам нужен $(this), когда Вы собираетесь работать с объектом jQuery. Если же Вы хотите обратиться напрямую к объекту DOM, тогда Вам нужен именно this.

Стоит учитывать, что jQuery всегда возвращает массив, даже в том случае, если найден всего один элемент (тогда он будет первым, а точнее — нулевым элементом массива). Поэтому справедливым будет выражение $(this)[0] == this. Здесь важно понимать, что обращение к элементу jQuery по индексу в квадратных скобках вернёт не объект типа jQuery (как мог бы подумать новичёк), а соответствующий ему объект DOM. Если же вы хотите из массива jQuery получить первый объект в виде jQuery-сущности, используйте для этого функцию eq().

Учитывая вышесказанное, справедливым будет выражение:

$("#mydiv")[0] == document.getElementById("mydiv")
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector