Bonjour,
voici mon probleme : dans un tableau,je souhaite pouvoir changer la couleur du background des cellules lorsque je clique dessus.
Je réalise tout en Javascript, et je génère donc le tableau dynamiquement. Je précise aussi que le js est placé dans un fichier externe, donc je ne peux pas faire la solution que l'on voit partout sur Internet (avec le onClick=javascript:...).
Dans le code ci-dessous, je n'ai pas encore mis en place les fonctions qui permettront de justifier la necessité de générer le tableau en js, mais l'utilisateur pourra choisir la taille de son tableau (that's why) :
Le Js :
et le css :
et donc, le fichier index.html est vide.
Quelqu'un a une idée? Merci d'avance pour vos réponses.
voici mon probleme : dans un tableau,je souhaite pouvoir changer la couleur du background des cellules lorsque je clique dessus.
Je réalise tout en Javascript, et je génère donc le tableau dynamiquement. Je précise aussi que le js est placé dans un fichier externe, donc je ne peux pas faire la solution que l'on voit partout sur Internet (avec le onClick=javascript:...).
Dans le code ci-dessous, je n'ai pas encore mis en place les fonctions qui permettront de justifier la necessité de générer le tableau en js, mais l'utilisateur pourra choisir la taille de son tableau (that's why) :
Le Js :
var taille;
var cellId=0;
function init(){
initGrille();
window.addEventListener('click',celluleNoire,false);
}
function initGrille(){
var i,j;
var table = document.createElement("table");
taille = 10;
//double boucle, imbriquée, crée le tableau
for(i=0;i<taille;i++){
var ligne = document.createElement("tr");
for(j=0;j<taille;j++){
var cellule = document.createElement("td");
ligne.appendChild(cellule);
cellId= cellId+1;//va permettre d'attribuer un id à chaque case;
cellule.id = 'cell'+cellId;
}
table.appendChild(ligne);
}
document.body.appendChild(table);
}
function celluleNoire(event){
var cellule = document.getElementByTagName('td');
cellule.setAttribute("class", "noir");
}
window.addEventListener('load',init,true);
et le css :
body {
margin : 0;
}
table {
border-collapse : collapse;
margin:30px auto;
}
td {
width : 30px;
height : 30px;
border:1px solid black;
}
.noir{
background-color : #000;
}
et donc, le fichier index.html est vide.
Quelqu'un a une idée? Merci d'avance pour vos réponses.