this
это не "вещь" jQuery, а базовый JavaScript . Его нельзя переписать так, как в примерах, потому что это объект, в частности элемент DOM или объект jQuery (в зависимости от того, в каком контексте вы находитесь). Так что, если вы сделали это:
$(this + " div")
То, что вы действительно делаете, это вызов .toString()
для this
для объединения строк, в результате чего:
$("[object Object] div")
.... который не является допустимым селектором.
Что касается дальнейшего чтения, я считаю, эта статья продолжает оставаться одной из лучших ссылок / ресурсов, чтобы узнать, что означает this
(ключевое слово context).
За запросы на комментарии, некоторые примеры того, что this
находится в разных местах:
- Обработчики событий, например:
$("selector").click(function() { alert(this); });
this
относится к элементу DOM, на котором запускается обработчик событий.
- Внутри плагина jQuery, например:
$.fn.myPlugin = function() { alert(this); });
this
- это объект jQuery, для которого был вызван / подключен плагин, например: $("selector").myPlugin();
, this
- это $("selector")
объект jQuery.
- Внутри любой универсальной функции, например:
function myFunc() { alert(this); };
this
- это контекст, в котором вы находитесь, будь то объект или что-то еще, несколько примеров:
$("selector").click(myFunc);
- this
- это элемент DOM, как и выше
$("selector").click(function() { myFunc(); });
- this
- глобальный контент, window
myFunc.call(whatThisIs, arg1, arg2);
- this
is whatThisIs