For some reason I didn't think that would work, because of issues with
$myDiv not being on the page when it's created (and events only being
hook-up-able to on-page elements).  But after testing your example I
realized that jQuery does keep it's references straight even when you
create the element "off screen", so thanks; that actually solves my
problem perfectly!

Man, I love it when I think "this can't be right", post to a forum,
and in less than two hours have a helpful response that explains "it's
not right; here's where you are misunderstanding".

Jeremy

On Dec 4, 10:38 am, "Michael Geary" <[EMAIL PROTECTED]> wrote:
> Don't forget that you don't have to do everything with chaining. Simply grab
> a reference to any jQuery object or DOM element you want to use later.
>
>     var $myDiv = $('<div>my div</div>');
>     $(someHtmlElement).replaceWith($myDiv);
>     $myDiv.click( function() { alert( $(this).html() ); } );
>
> -Mike
>
> > From: machineghost
>
> > While I love most things in jQuery, one thing I don't get is
> > replaceWith.  This method returns the object you just
> > replaced, which as far as I can see is 100% worthless, rather
> > than the the object you're replacing it with.  If you do:
>
> > $.(someHtmlElement).replaceWith("<div>my div</div>");
>
> > There is no way whatsoever (as far as I can tell at least) to
> > access "<div>my div</div>"  after the replacement.  You can
> > access someHtmlElement, but that's not very helpful; if
> > you're replacing it, you probably don't care about it anymore.

Reply via email to