11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Des éléments ajoutés (ul li et autres) par javascript dans une page par ce genre de syntaxe :


function update_menu() {
    // recup conteneur
    var oParent = document.getElementById("menu");
    // creation LI
    var oLI = document.createElement('li');
    // affectation de la classe
    oLI.className = "write";
        // creation de A
        var oA_LI = document.createElement('a');
        // affecte attribut
        oA_LI.href = '#';
        oA_LI.title = 'Write';
        // creation text
        var oTxt = document.createTextNode('Write');
        // ajout text
        oA_LI.appendChild( oTxt);
        // ajout A
        oLI.appendChild( oA_LI);
        // creation UL
        var oUL_LI = document.createElement('ul');
        .... (etc etc...)
}


sont-ils censés être concernés par la feuille de style en cours ?

Merci
Oui. Les styles CSS s'appliquent à tous les éléments du DOM même s'ils sont ajoutés après le traitement de la page par le navigateur.
Merci de cette précision,
Que dois-je vérifier dans mon cas car je constate des dysfonctionnements ?
J'ai un menu avec un sous-menu.

Avec le Dom, j'ai ajouté un élément à mon menu principal. voir un extrait du code fourni plus haut.
Le fait de cliquer sur ce menu affiche des sous-menus. Enfin normalement.

Mais cela ne fonctionne pas.

Quelle est la cause la plus plausible de ce genre de dysfonctionnement afin que je sache où mener mon enquête ?

Merci de votre aide.
Salut,

S'il faut "cliquer" pour afficher le sous-menu, c'est qu'il y a un ecouteur sur l'evenement en javascript. Ce n'est pas possible en CSS.

Le script JS qui permet l'affichage ou le cache du sous-menu est certainement charge une seule fois au chargement de la page et s'applique sur les elements cibles trouve au chargement de la-dite page, et non pas sur les elements crees apres.
K-feine a écrit :
Salut,

S'il faut "cliquer" pour afficher le sous-menu, c'est qu'il y a un ecouteur sur l'evenement en javascript. Ce n'est pas possible en CSS.

Le script JS qui permet l'affichage ou le cache du sous-menu est certainement charge une seule fois au chargement de la page et s'applique sur les elements cibles trouve au chargement de la-dite page, et non pas sur les elements crees apres.


Merci beaucoup pour cette réponse
Si je trouve cet écouteur, y a-t'il un moyen de faire en sorte qu'il s'applique alors à ces élements ajoutés après ?