Reputation:
I want to change the color of a title when a button is clicked. This is my code, but it's not working and I can't figure out why not...
var about;
function init() {
about = document.getElementById("about").innerHTML;
about.style.color = 'blue';
}
<div id="about">About Snakelane</div>
<input type="image" src="http://www.blakechris.com/snakelane/assets/about.png" onclick="init()" id="btn">
Upvotes: 25
Views: 218133
Reputation: 17366
use ONLY
function init() {
about = document.getElementById("about");
about.style.color = 'blue';
}
.innerHTML()
sets or gets the HTML syntax describing the element's descendants., All you need is an object here.
Upvotes: 8
Reputation: 263
Try below code:
$(document).ready(function(){
$('#about').css({'background-color':'black'});
});
Upvotes: 4
Reputation: 944533
innerHTML
is a string representing the contents of the element.
You want to modify the element itself. Drop the .innerHTML
part.
Upvotes: 0
Reputation: 74106
You set the style per element and not by its content:
function init() {
document.getElementById("about").style.color = 'blue';
}
With innerHTML
you get/set the content of an element. So if you would want to modify your title, innerHTML
would be the way to go.
In your case, however, you just want to modify a property of the element (change the color of the text inside it), so you address the style
property of the element itself.
Upvotes: 47