er ... John?
On Tue, Aug 18, 2009 at 5:09 PM, Andrea Giammarchi <
[email protected]> wrote:
> John, I have created and tested a patch.
>
> Please have a look when you have a second. It does not break anything, the
> name could be obviously changed if you want ( something like
> updateCollection or whatever )
>
> It stays into manipulation file
>
> jQuery.fn.extend({
>
> // updates precedent search removing nodes not in context anymore
> garbage:(function(splice){
> return function() {
> var length = this.length,
> remove = []
> ;
> while( length ){
> if( !jQuery.contains( this.context, this[--length] ) ) {
> remove.push( splice.call( this, length, 1 ) );
> }
> };
> remove.each = this.each;
> this.remove.call(remove, false, false);
> return this;
> }
> })( Array.prototype.splice ),
>
> text: function( text ) {
> ....
>
> The only thing to avoid to mess up stuff is that it needs contains
> exposures from selector file
>
> // EXPOSE
> jQuery.find = Sizzle;
> jQuery.expr = Sizzle.selectors;
> jQuery.expr[":"] = jQuery.expr.filters;
> jQuery.contains = contains;
>
> Please, let me know what you think.
>
> Cheers
>
>
> On Tue, Aug 18, 2009 at 4:31 PM, Andrea Giammarchi <
> [email protected]> wrote:
>
>> Sorry, maybe this one will be better:
>>
>> garbage:(function(splice){
>> return function(){
>> var length = this.length;
>> while(length){
>> if(!contains(this.context, this[--length]))
>> jQuery.remove.call(splice.call(this, length, 1));
>> };
>> return this;
>> };
>> })(Array.prototype.splice),
>>
>> Regards
>>
>>
>> On Tue, Aug 18, 2009 at 4:21 PM, Andrea Giammarchi <
>> [email protected]> wrote:
>>
>>> What a bout a garbage collector prototype method? Is there any plugin
>>> like this?
>>>
>>> garbage:(function(splice){
>>> return function(){
>>> var length = this.length;
>>> while(length){
>>> if(!contains(this.context, this[--length]))
>>> splice.call(this, length, 1);
>>> };
>>> return this;
>>> };
>>> })(Array.prototype.splice),
>>>
>>> The problem is that to use the jQuery contains function it requires to be
>>> inside the library since if I am not wrong contains is not exposed.
>>>
>>> What do you think?
>>>
>>>
>>> On Tue, Aug 18, 2009 at 4:00 PM, John Resig <[email protected]> wrote:
>>>
>>>>
>>>> Not really, right? You can still modify and re-place nodes that have
>>>>> been removed from the dom, but not on nodes that have been destroyed.
>>>>>
>>>>> <div id="bar"><p>hi</p><p>there</p></div>
>>>>>
>>>>> var ps = $("#bar p").remove();
>>>>> $("#bar").html("<p>hmm</p>");
>>>>> ps.appendTo("#bar")
>>>>>
>>>>> or some such.
>>>>>
>>>>
>>>> Removed from the DOM via an innerHTML or removed from the DOM via a
>>>> removeChild - the result is the same either way. A reference to the DOM
>>>> element should be maintained so that further operations can be performed.
>>>>
>>>> --John
>>>>
>>>>
>>>> >>>>
>>>>
>>>
>>
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---