(Единственное, о чем я могу думать, это то, что это элемент вместо объекта jQuery в $("...").each(function)
-коллсах, так как $(element)
чаще используется, чем просто элемент. И эта крайне незначительная вещь о это.
Пример вышеизложенного (упрощенно, и я знаю, что есть и другие, гораздо лучшие способы сделать это, я просто сейчас не могу придумать лучшего примера):
// Make all divs that has foo=bar pink.
$("div").each(function(){
if($(this).attr("foo") == "bar"){
$(this).css("background", "pink");
}
});
each
- это функция, которая принимает функцию в качестве параметра, эта функция вызывается один раз для каждого соответствующего элемента. В переданной функции this
относится к фактическому DOM-элементу браузера, но я обнаружил, что вам часто захочется использовать некоторую функцию jQuery для каждого элемента, поэтому приходится использовать $(this)
. Если бы для этого значения было установлено значение $(this)
, вы получили бы более короткий код и все равно могли бы получить доступ к объекту элемента DOM, используя this.get(0)
. Теперь я вижу причину того, что все так, как есть, а именно, что написание $(this)
вместо этого вряд ли так громоздко, и в случае, если вы можете делать то, что вы хотите, с элементом DOM, то, как он быстрее, чем так, как могло бы быть, и другой путь не был бы быстрее, если вы хотите $(this)
.)