Opened 11 years ago
Closed 11 years ago
#10593 closed bug (invalid)
The "href" attribute of <a> element lost when using append() in old IE
Reported by: | abiao.chen | Owned by: | abiao.chen |
---|---|---|---|
Priority: | low | Milestone: | None |
Component: | manipulation | Version: | 1.7b2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
After calling append() to add a element by passing a string arg which declares an <a> element with both "href" and "onclick" attributes, I found in some IE versions (such as IE <9 on windows server 2003) the "href" attribute was lost.
I traced the execution and found in cloneAttributes() function:
- Each of src&dest had the "href" attribute at the beganning.
- All the attributes of dest was cleaned by cleanAttribute().
- The "href" attribute was missed when merge the src attribute into dest by calling mergeAttributes().
Does this a jQuery or IE problem?
Here is the HTML file:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="jquery-1.5.min.js"></script> <script> function addcontent() { $("div").append('<a href="javascript:b;" onclick="alert(0)">link3</a>'); } $(document).ready(addcontent); </script> </head> <body> <a href="javascript:x;" onclick="alert(0)">link1</a> <div></div> </body>
Change History (3)
comment:1 Changed 11 years ago by
Component: | unfiled → manipulation |
---|---|
Owner: | set to abiao.chen |
Priority: | undecided → low |
Status: | new → pending |
comment:2 Changed 11 years ago by
Status: | pending → new |
---|
I found this bug in IE6 and tried jsFiddle. While in IE6, jsFiddle doesn't work and cannot test this bug. Thus, I paste my code here.
comment:3 Changed 11 years ago by
Resolution: | → invalid |
---|---|
Status: | new → closed |
The javascript pseudo protocol has many issues in IE6. I recommend steering clear of using it.
Note: See
TracTickets for help on using
tickets.
Thanks for taking the time to contribute to the jQuery project! Please provide a complete reduced test case on jsFiddle to help us assess your ticket.
Additionally, be sure to test against the jQuery Edge version to ensure the issue still exists. To get you started, use this boilerplate: http://jsfiddle.net/FrKyN/ Open the link and click to "Fork" (in the top menu) to get started.