How do you nest quotes in HTML beyond the second level? As far as I know, there are only 2 types of quotes - single(') and double("). I am aware of escaping using slashes - you have to escape in the code but that escaping won't work at the browser level. What is the accepted method to get around something like the following?
<p onclick="exampleFunc('<div id="divId"></div>');">Some Text</p>
That code prints to the browser:
');">Some Text
You need to use proper escaping/encoding. Either in HTML using character references:
<p onclick="exampleFunc('<div id="divId"></div>');">Some Text</p>
Or in JavaScript using string escape sequences:
<p onclick="exampleFunc('\x3Cdiv\x20id\x3D\x22divId\x22\x3E\x3C/div\x3E');">Some Text</p>
Edit: this is not a solution for JavaScript in HTML, but for JavaScript only. My bad...
eval('eval(\"eval(\\\"alert(\\\\\\\"Now I\\\\\\\\\\\\\\\'m confused!\\\\\\\")\\\")\")');
Link. It's "recursive escaping".
you need to escape the characters using the \
so your code should look like
<p onclick="exampleFunc('<div id=\"divId\"></div>');">Some Text</p>
Here is some info on Special Characters
来源:https://stackoverflow.com/questions/3039765/nesting-quotes-in-javascript-html