Alex Rivera | Logout

Using JavaScript single and double quotes for href's

Asked 2009-03-06T06:57:50.390
13

I am having problem with escaping the single and double quotes inside the hrefs JavaScript function.

I have this JavaScript code inside href. It's like -

<a href = "javascript:myFunc("fileDir/fileName.doc", true)"> click this </a>

Now, since double quotes inside double quote is not valid, I need to escape the inner double quotes for it to be treated as part of the string - so, I need to do this -

<a href = "javascript:myFunc(\"fileDir/fileName.doc\" , true)"> click this </a>

The problem is, even the above code is not working. The JavaScript code is getting truncated at -- myFunc(

I tried with the single quote variation too - but even that doesn't seem to work (meaning that if I have a single quote inside my string literal then the code gets truncated).

This is what I did with a single quote:

<a href = 'javascript:myFunc("fileDir/fileName.doc" , true)'> click this </a>

This works, but if I have a single quote inside the string then the code gets truncated in the same way as that of double quotes one.

Edit
Report

1 Answer

34

Using backslashes to escape quotes is how it works in JavaScript, but you're not actually writing JavaScript code there: you're writing HTML. You can do it by using the HTML escaping method: character entities.

&quot;  // "
&#39;   // '

For example:

<a href="javascript: alert('John O&#39;Brien says &quot;Hi!&quot');">...</a>
answered 2009-03-06T07:01:15.107

Your Answer