2010-07-29 2 views
7

Как точно работает тег jQuery $(this)? Я знаю, как его использовать, но как jQuery знает, какой элемент является «активным»? И каков оригинальный тег Javascript для получения текущего элемента, или это только jQuery?

+7

@qor Вы связались с текущим вопросом, поэтому да –

+0

Приятно видеть, что SO защищает закрытие вопроса из-за того, что он является дубликатом, хотя некоторые сайты не будут;) – Konerak

+0

Возможный дубликат [Почему я должен использовать $ (this)] (http://stackoverflow.com/questions/3316113/why-do-i-have-to-use-this) – jAndy

ответ

7

this простой Javascript (DOM) объекта, $(this) превратит объект в объект JQuery.

Jquery не нужно «знать», что this есть, она не относится к этим особым образом, не что иное, myHeaderDiv в

var myHeaderDiv = document.getElementById('header'); 
$myHeaderDiv = $(myheaderDiv); //just a variable transformed into jQuery object, as with this. 
4

this является контекстно-зависимой в JQuery (и JavaScript в целом). Он обычно представляет текущий элемент DOM в обработчике событий, но не является объектом jQuery.

$(this) - объект jQuery, содержащий текущий элемент DOM.

3

Выражение $(this) - это обычный вызов функции Javascript, эквивалентный jQuery(this). Значение this определяется самим Javascript и не является изобретением jQuery.