Why am I losing my characters from my html string when trying to add html dynamically using javascri

Posted by Hamman359 on Stack Overflow See other posts from Stack Overflow or by Hamman359
Published on 2010-05-21T17:44:04Z Indexed on 2010/05/21 17:50 UTC
Read the original article Hit count: 265

Filed under:
|

I have a page that I am trying to dynamically add some links to. The links are getting added to the page fine, but the '[' and ']' at either end of the line are getting dropped. The code from my .js file is:

var html = "[ <a href='#'>Change</a>&nbsp;|&nbsp;<a href='#'>Remove </a> ]";
$(html).appendTo("#id123");

The result I want is:

[ <a href='#'>Change</a>&nbsp;|&nbsp;<a href='#'>Remove</a> ]

The result I'm getting is:

<a href='#'>Change</a>&nbsp;|&nbsp;<a href='#'>Remove</a>

If I wrap the line in a <span> tag like so:

var html = "<span>[ <a href='#'>Change</a>&nbsp;|&nbsp;<a href='#'>Remove </a> ]</span>";
$(html).appendTo("#id123");

it renders as expected. I set a breakpoint on the code and checked the html var right before the .appendTo and it contains the '[' and ']'.

Anyone know why this is happening? Are '[' and ']' special character that need escaped and I'm just forgetting that fact?

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about jQuery