Bug Tracker

Ticket #5660 (closed bug: invalid)

Opened 5 years ago

Last modified 5 years ago

$.extend does not copy own property of form element

Reported by: telensky Owned by:
Priority: major Milestone:
Component: core Version: 1.3.2
Keywords: extend Cc:
Blocking: Blocked by:

Description

If I assign property 'form_idx' to the form element and then use $.extend(), the property is not copied! See testcase available at  http://artax.karlin.mff.cuni.cz/~ttel5535/WEB_development/BUGS/091215-jquery_extend/jq_err_simple.html

I would expect the secold alert to say that form_idx is 123.

The snip of the code:

var fe = $('form').get(0);

fe.form_idx = 123;

alert('this.form_idx == ' + fe.form_idx + ', OwnProperty == ' + fe.hasOwnProperty('form_idx'));

b = $.extend({}, fe);

alert('b.form_idx == ' + b.form_idx); how comes that this is undefined!!!

Change History

comment:1 Changed 5 years ago by dmethvin

  • Status changed from new to closed
  • Resolution set to invalid

$.extend() is not meant to copy or extend DOM elements. If you want to make a copy of a DOM element, use $(el).clone() and not $.extend(). IE in particular doesn't treat a DOM element the same as a Javascript object.

Note: See TracTickets for help on using tickets.