Oops, sorry, Ricardo, please change
$('div.parent').remove()
to
$('div.grandparent').remove()
Now you still get child.parent() - and child.get(0).parentNode, I think...
Diogo
On Sun, Nov 30, 2008 at 5:57 PM, Diogo Baeder <[EMAIL PROTECTED]> wrote:
> Hi, Ricardo,
>
> Got your point, but, suppose we have the following situation (which led me
> to test parent elements using $().parent() and $().parents()):
>
> <div class="grandparent">
> <div class="parent">
> <div class="child">
> Am I in DOM?
> </div>
> </div>
> </div>
>
> var grandparent = $('div.grandparent');
> var child = $('div.child');
> $('div.parent').remove();
>
>
>
> What would be the result of child.get(0).parentNode ? Sorry not to test it
> right now, but I'm not at home, and can't test it right now...
>
> Thanx!
>
> Diogo
>
>
>
>
> On Sun, Nov 30, 2008 at 4:35 PM, ricardobeat <[EMAIL PROTECTED]>wrote:
>
>>
>> Hi,
>>
>> It seems the ownerDocument is set for the created element even if it's
>> not in the DOM, it's the document where jQuery was loaded in. A simple
>> check for parentNode or offsetParent would do:
>>
>> $.fn.inDOM = function(){
>> return !!this.parentNode; //boolean
>> });
>>
>> parentNode returns faster for elements in the DOM, while offsetParent
>> returns faster for elements not in the DOM (in FF3 at least).
>>
>> Hope I'm not missing anything. It surely would need a better name :]
>>
>> cheers,
>> - ricardo
>> On 29 nov, 14:46, Ariel Flesler <[EMAIL PROTECTED]> wrote:
>> > 'body' should be replaced by 'html'.
>> >
>> > Maybe we can make it faster by consulting expandos like
>> > ownerDocument ?
>> >
>> > --
>> > Ariel Fleslerhttp://flesler.blogspot.com
>> >
>> > On Nov 27, 12:52 am, diogobaeder <[EMAIL PROTECTED]> wrote:
>> >
>> > > Hi there,
>> >
>> > > I'm new here (and in jQuery), but even though I'd like to propose some
>> > > simple but usefull method to the jQuery object (at core.js) to tell
>> > > the API user if an element exists in the document. I've tried to build
>> > > one as follows:
>> >
>> > > [CODE]
>> > > (function($) {
>> >
>> > > $.fn.inDOM = function() {
>> > > return !!this.parents('body').length;
>> > > };
>> >
>> > > })(jQuery);
>> >
>> > > jQuery(document).ready(function(){
>> > > var jEl = $('.someExistingClass');
>> >
>> > > // Should be in DOM
>> > > console.debug(jEl.inDOM());
>> >
>> > > // Removing the element
>> > > jEl.remove();
>> >
>> > > // Should NOT be in DOM
>> > > console.debug(jEl.inDOM());});
>> >
>> > > [/CODE]
>> >
>> > > So, if the client sets a variable as a jQuery object, and at some
>> > > point of the code the DOM element within it can be removed, he/she can
>> > > test if it really was. OK, I know it sounds unsignificant, but I think
>> > > it would still be usefull.
>> >
>> > > Thanks!
>> >
>> > > Diogo Baeder
>> >>
>>
>
>
> --
> Diogo Baeder
> http://www.diogobaeder.com.br
>
--
Diogo Baeder
http://www.diogobaeder.com.br
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---