Bug Tracker

Opened 7 years ago

Closed 7 years ago

#10460 closed bug (invalid)

Defective html when using html(string) on anchor tag in FireFox 3.6.23

Reported by: danelkhen Owned by: danelkhen
Priority: blocker Milestone: 1.next
Component: manipulation Version: 1.7b1
Keywords: Cc:
Blocked by: Blocking:

Description

reproduction js code: var a = $("<a/>"); a.html("<div>asdasd</div>"); var s = a.html();

Result in FireFox 3.6.23 <div><a xmlns="http://www.w3.org/1999/xhtml">asdsad</a></div>

Result in any other browser: <div>asdasd</div>

Change History (7)

comment:1 Changed 7 years ago by danelkhen

Sorry, here's jsfiddle link: http://jsfiddle.net/6Ugnc/

comment:2 Changed 7 years ago by Rick Waldron

Component: unfiledmanipulation
Milestone: None1.next
Priority: undecidedblocker
Status: newopen
Version: 1.6.41.7b1

comment:3 Changed 7 years ago by dmethvin

Owner: set to danelkhen
Status: openpending

By default, an a element is inline, and a div element is block. So the test case results in an invalid document. I don't have FF 3.6 handy here but does this test case work properly?

http://jsfiddle.net/dmethvin/6Ugnc/1/

comment:4 Changed 7 years ago by Rick Waldron

comment:5 Changed 7 years ago by danelkhen

Status: pendingnew

Yes, in FireFox 3.6, jQuery inserts a weird "A" tag (with xmlns attribute) inside the div. FireFox 3.6 is available here: http://www.mozilla.org/en-US/firefox/all-older.html

comment:6 Changed 7 years ago by timmywil

Status: newopen

comment:7 Changed 7 years ago by dmethvin

Resolution: invalid
Status: openclosed

That is not valid markup in XHTML or HTML4. A link is an inline element and a div is a block element. HTML5 allows it. jQuery supports whatever the browser supports, it isn't something we can easily shim.

http://html5doctor.com/block-level-links-in-html-5/

Note: See TracTickets for help on using tickets.