Bug Tracker

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#9843 closed bug (worksforme)

html() method can't handle HTML encoded characters [ampersand-style]

Reported by: shehriyari Owned by:
Priority: low Milestone: 1.next
Component: manipulation Version: 1.6.2
Keywords: Cc:
Blocked by: Blocking:

Description

HOW TO REPEAT:
Let's say we have following piece of code:

var someVar = "<b>&quot;Don&39;t!&quot;</b>;
jQuery("#someDiv").html(someVar);

EXPECTED BEHAVIOUR:
#someDiv gets following content: <b>&quot;Don&39;t!&quot;</b>

WHAT HAPPENS:
Instead #someDiv gets following content: <b>&quot;Don&amp;39;t!&quot;</b>
As you can see, html() method handles ampersand-and-numbers-encoded-special-characters the way text() method does/should. &quot; character is rendered correctly, but &39; is not!

Change History (4)

comment:1 Changed 8 years ago by shehriyari

Sample code @JsFiddle:

http://jsfiddle.net/GRwP7/

comment:2 Changed 8 years ago by Rick Waldron

Component: unfiledmanipulation
Priority: undecidedlow
Resolution: worksforme
Status: newclosed

comment:3 Changed 8 years ago by timmywil

rwaldron beat me to it. That character code is invalid btw.

http://jsfiddle.net/timmywil/GRwP7/3/

comment:4 Changed 8 years ago by shehriyari

@rwaldron: Point was numeric-encodings, not alpha ones. Your fix was irrelevant sorry.

@timmywil: He didn't actually. Thanks for pointing out my error. Apparently I missed the hash (#) sign.

Note: See TracTickets for help on using tickets.