2013-07-29 8 views
3

Je veux changer la couleur d'un titre quand on clique sur un bouton. Ceci est mon code, mais il ne fonctionne pas et je ne peux pas comprendre pourquoi pas ...Changer la couleur du texte avec Javascript?

<div id="about">About Snakelane</div> 

<input type="image" src="http://www.blakechris.com/snakelane/assets/about.png" onclick="init()" id="btn"> 

et mes js ...

var about; 
function init() { 
    about = document.getElementById("about").innerHTML; 
    about.style.color = 'blue'; 
} 

Merci à l'avance!

Répondre

9

Vous définissez le style par élément et non par son contenu:

function init() { 
    document.getElementById("about").style.color = 'blue'; 
} 

Avec innerHTML vous obtenez/le contenu mis d'un élément. Donc, si vous voulez modifier votre titre, innerHTML serait le chemin à parcourir.

Dans votre cas, cependant, vous voulez juste modifier une propriété de l'élément (changer la couleur du texte à l'intérieur), donc vous abordez la propriété style de l'élément lui-même.

2

utilisation SEULEMENT

function init() { 
    about = document.getElementById("about"); 
    about.style.color = 'blue'; 
} 

.innerHTML() ensembles ou obtient la syntaxe HTML décrivant les descendants de l'élément., Tout ce que vous avez besoin est un objet ici.

Demo

0

innerHTML est une chaîne représentant le contenu de l'élément.

Vous souhaitez modifier l'élément lui-même. Déposez la pièce .innerHTML.

0

Essayez ci-dessous le code:

$(document).ready(function(){ 
$('#about').css({'background-color':'black'});  
}); 

http://jsfiddle.net/jPCFC/

+2

Aucune mention de jQuery partout dans la question. La fonction se trouve également dans le gestionnaire 'onclick' de l'élément' 'et non dans un événement' onload' du document. – Sirko

Questions connexes