Reputation: 33
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>";
Upvotes: 0
Views: 3458
Reputation: 1045
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.
Upvotes: 1
Reputation: 348
Or you could use escaped double quotes, as shown below.
document.getElementById("loggedin").innerHTML="welcome " + user + "<a onclick=\"deletecookie()\"> yes </a>";
Upvotes: 0