#6941 closed bug (duplicate)
.html moves script tags when it doesn't remove them
Reported by: | lathan | Owned by: | |
---|---|---|---|
Priority: | high | Milestone: | 1.5 |
Component: | manipulation | Version: | 1.4.2 |
Keywords: | html script concat | Cc: | |
Blocked by: | Blocking: |
Description
If you set the html of an element with a script type="text/template", jQuery does not remove it, but it moves it up to the root node that's being added.
This is caused by the .concat(....) on line 4498 of jQuery 1.4.2, (non mimified) in the function clean.
I have been unable to find the reason that all script tags are moved to the root of the DOMfragment.
Solution: remove the .concat(...) from line 4498 in the clean function.
If anyone can tell me a reason for this statement to be there, I will gladly be quiet, but I have been unable to find a reason, including on the jQuery IRC channel.
Attachments (1)
Change History (11)
Changed 13 years ago by
Attachment: | script-test.html added |
---|
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
Keywords: | needsreview added |
---|---|
Priority: | → undecided |
We should probably revisit the current script evaluation stuff at some point since it seems it may be causing more trouble than it solves. Marking for review.
comment:3 Changed 13 years ago by
I've added this as something to review in the Architectural issues document. Hopefully we can review further there.
comment:6 Changed 13 years ago by
Keywords: | needsreview removed |
---|---|
Milestone: | 1.4.3 → 1.5 |
Status: | new → open |
comment:9 Changed 13 years ago by
Priority: | undecided → high |
---|---|
Resolution: | → duplicate |
Status: | open → closed |
I think this may have been due to an earlier fix. The code used to remove all scripts but was changed to only remove text/javascript. When they all were being removed it didn't matter.
So it seems like to keep the scripts at the same position we would need to run through the children looking for scripts rather than using getElementsByTagName.