No -- the context will refer to whatever is passed into Drupal.attachBehaviors(). In Drupal core, that will be a DOM Element or a jQuery object. I know of no guarantee that the jQuery will always point to one DOM element (though I know of no place in Drupal core where more than one is passed in). For contributed modules... I suppose you are at the liberty of the contrib developers. Matt On Fri, May 29, 2009 at 2:03 PM, David Cohen <drupal@dave-cohen.com> wrote:
So just to clarify, will the context always refer to a single element? In other words should my code be:
$elem = $(context).get(0); do_my_behavior($elem);
or, more like:
$(context).each(function () { $elem = $(this).get(0); do_my_behavior($elem); });
And in the first invocation, when context == document, will $(document).get(0) return the document?
Thanks everyone for helping me understand.
-Dave
On Fri, 29 May 2009 11:44 -0700, "Earl Miles" <merlin@logrus.com> wrote:
I totally disagree. It's either a jquery object or something you can easily make into a jquery object. Using $(context) should always work and you can get a DOM element using $(context).get(0). Ignoring context will lead to poor performance.