<a href="javascript:void(0)" onclick="playNewVideo('OdTGOa15vEw','The O.C. best music moment #14 - "Champagne Supernova"');">
<a href="javascript:void(0)" onclick="playNewVideo('OdTGOa15vEw','The O.C. best music moment #14 - \\"Champagne Supernova\\"');">
The script code is embedded in an HTML attribute value. Therefore it’s HTML’s rules you have to obey with the string as a whole. You escape double quotes as " (or &#34;) in HTML, and single quotes as &#39;.
Using JavaScript escapes (\\" or \\') won’t do, because they’re not recognised by the HTML parser. If you write
foo="abc \\"def\\" ghi"
the HTML parser will see a foo attribute with the value
abc \\
followed by a bunch of invalid characters.
FWIW, the best practice is to avoid inline scripts altogether. The markup you showed is anything but unobtrusive, and it ties the behaviour very tightly to the content. A user with JavaScript disabled (or unsupported) will see a link, but it won’t work. Things that require JavaScript to work should be created unobtrusively with JavaScript. That way a non-JS user won’t have to see stuff that doesn’t work anyway.