11548 sujets

JavaScript, DOM et API Web HTML5

Je débute complètement en javascript et j'aurais besoin juste d'une toute petite aide.

Voici ma page simplifiée :

<div id="defaut">
<a class="sec1" href="#">Nouvelle inscription</a>
<a class="sec2" href="#">Connection</a>
</div>

Je voudrais faire en sorte que un clique sur "Nouvelle inscription" déclanche un script qui modifie, sans rechargement de la page, l'id du conteneur par une valeure prédéfinie.
Le must serait qu'il le remplace par la valeure de la classe du lien.

EDIT : En fait je voudrais qu'un clique sur un de liens remplace, sans rechargement de la page, l'id du conteneur par la classe du lien.

D'avance merci !
Smiley biggrin
Modifié par lrbabe (25 May 2006 - 21:51)
Si je peux abuser de tes connaissances...
En fait ma page ressemble à ça :


<div id="page">
 <div id="defaut">
  <a class="sec1" href="#">Nouvelle inscription</a>
  <a class="sec2" href="#">Connection</a>
 </div>
</div>


Et je préfèrerais cibler "l'ID de l'enfant de page". (parce ce serait plus clair comme ça).
J'ai essayé

onclick="document.getElementById('page').firstChild.id=this.className;return false"


Mais ça ne marche pas et je ne me l'explique pas...
Modifié par lrbabe (25 May 2006 - 23:06)
tu vas te heurter aux noeuds "vides" sous Ffx;

si tu y tiens vraiment, passe par

document.getElementById('page').getElementsByTagName("*")[0].id=this.className;


Parceque dès que tu clique sur un lien, 'default' change...

Merci encore javatwister.

En fait j'ai utilisé

document.getElementById('page').getElementsByTagName('div')[0].id=this.className;


Comme ça c'est parfait !
Modifié par lrbabe (26 May 2006 - 16:00)
Une toute dernière demande (enfin j'espère), comment je peux faire pour mettre cette fonction dans un fichier séparé et qu'elle ne s'appelle que lorsquer que je clique sur un de ces liens ?
Modifié par lrbabe (26 May 2006 - 16:10)
Attention hein: tu signalais une "erreur"; il faut absolument compléter le script par return false;

après, tu devrais effectivement éviter le script intra-ligne, mais l'économie est minime si tu n'as qu'un seul lien de ce type;
Juste une question, je trouve que changer un id comme ça, c'est pas très propre à mon avis. A quoi ça te sert en fait ?
Le fait de modifier cet id me servait à faire apparaitre certaines div de la page et pas d'autre suivant le css.
J'avour que c'est assez moche et je cherche à faire quelque chose sans JS, tout en css mais c'est compliqué.
À quand la pseudo class :parentNode en CSS ? ce serait tellement plus simple !

Edit : je cherche maintenant en javascript à faire référence à l'objet qui a le focus dans la page (donc un lien auquel on aurait accédé à l'aide de la touche tabulation.

D'avance merci !
Modifié par lrbabe (29 May 2006 - 22:22)