Posted By: Anonymous
I want to give an updated answer to this question. First, let me state if you’re attempting to accomplish what I have below, I recommend that you manage events by adding event listeners instead. I highly recommend that you utilize jQuery for your project and use their syntax to manage event listeners over using DOM.
Okay, I am basically doing this:
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change('ex1')' />";
I don’t want double quotes (“) where I put the ‘. I only want a single quote, so I am trying to not make it put a double when it is used. I am trying to reach this in the final outcome.
<img src="something" onmouseover="change('ex1')" />
Escaping isn’t working for me.
My marked answer works fine, however, the cleaner (and more professional-looking way, IMO) is loganfsmyth’s answer.
You should always consider what the browser will see by the end. In this case, it will see this:
<img src='something' onmouseover='change(' ex1')' />
In other words, the “onmouseover” attribute is just
change(, and there’s another “attribute” called
ex1')' with no value.
The truth is, HTML does not use
for an escape character. But it does recognise
' as escaped quote and apostrophe, respectively.
Armed with this knowledge, use this:
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change("ex1")' />";
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change("ex1"")' />"";
Answered By: Anonymous