Question

I want to run a function inside a few quotes and double quotes but it's not working

document.getElementById("loggedin")
.innerHTML="welcome " + user + "<a onclick=deletecookie()> yes </a>";
Était-ce utile?

La solution

It should be

document.getElementById("loggedin")
    .innerHTML="welcome " + user + "<a onclick='deletecookie()'> yes </a>";

Refer to this question for why quotes should be included around HTML5 attributes.

Generally speaking though, it's better to bind something like this via a jQuery event listener within your javascript code rather than injecting it into the DOM. For example:

document.getElementById('loggedin')
    .innerHTML = "welcome " + user + "<a> yes </a>";
$('#loggedin').on('click', 'a', deletecookie);

This keeps your javascript isolated from your rendered HTML and makes it clearer how things are set up for future development.

Autres conseils

Or you could use escaped double quotes, as shown below.

document.getElementById("loggedin").innerHTML="welcome " + user + "<a onclick=\"deletecookie()\"> yes </a>";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top