IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[DOM] Interpr�ter du HTML sans innerHTML


Sujet :

JavaScript

  1. #1
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut [DOM] Interpr�ter du HTML sans innerHTML
    Hello,

    J'aimerais savoir s'il existe un moyen simple d'interpr�ter du texte comme du HTML avec les fonctions DOM.

    Pour illustrer mes propos :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    var div = document.createElement( 'div' );
     
    var texte = '<i>mon texte</i>';
     
    div.appendChild( document.createTextNode( texte ) );
    Evidemment, ce code ne fonctionne pas, il m'affiche "<i>mon texte</i>". Or, j'aimerais pouvoir afficher "mon texte".

    Sachant que la variable texte est remplie par les donn�es d'un XML, et que je peux tr�s bien recevoir du texte simple, sans balise.

    Avez-vous une id�e ?


  2. #2
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    var div = document.createElement( 'div' );
    var italique = document.createElement('i');
    var texte = document.createTextNode("mon texte");
     
    italique.appendChild(texte);
    div.appendChild(italique);
    cela dit les balise comme <i>, <center>, <font> etc... sont d�conseill�s. aujourd'hui on privil�gie les classes CSS

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var div = document.createElement( 'div' );
    var texte = document.createTextNode("mon texte");
    div.appendChild(texte);
    div.className = "italique"; // .italique { font-style: italic; }

  3. #3
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    ou

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var texte = document.createTextNode("mon texte");
    texte.style.fontStyle='italic'
    sinon en passant par data ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var texte = document.createTextNode("");
    texte.data="<i>mon texte</i>"
    test� ... ni l'un ni l'autre ne passent :oops;
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  4. #4
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Ben Spaffy, tu es fatigu�...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var div = document.createElement( 'div' );
    div.style.fontStyle = 'italic';
    var texte = 'mon texte';
    div.appendChild( document.createTextNode( texte ) );
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    Membre chevronn� Avatar de Bezout
    Profil pro
    D�veloppement
    Inscrit en
    Septembre 2003
    Messages
    234
    D�tails du profil
    Informations personnelles :
    �ge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activit� : D�veloppement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.createElement("<i style="...">texte</i>")
    Ca marche pas ?

  6. #6
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    @Bezout :
    Non, c'est pas cross-browser.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  7. #7
    Membre chevronn� Avatar de Bezout
    Profil pro
    D�veloppement
    Inscrit en
    Septembre 2003
    Messages
    234
    D�tails du profil
    Informations personnelles :
    �ge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activit� : D�veloppement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par d�faut
    Ah oui possible, sous IE ca devait marcher

  8. #8
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut
    Je crois que vous avez tous zapp� cette partie de l'�nonc� :
    Citation Envoy� par Bis�n�rs Voir le message
    Sachant que la variable texte est remplie par les donn�es d'un XML, et que je peux tr�s bien recevoir du texte simple, sans balise.
    Mais je vais tenter la proposition de Spafy avec le data.


    Edit : Sans succ�s, le r�sultat est le m�me.

  9. #9
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Et le "sans innerHTML", il y a une raison particuli�re ?
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  10. #10
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut
    Parce que l'�l�ment en question n'existe pas encore dans la page. Il me semble que dans ce cas-l�, le innerHTML g�n�re une erreur non ?

  11. #11
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Non :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var madiv = document.createElement('div');
    var texte = "<i>Du texte</i>";
    madiv.innerHTML = texte;
    document.body.appendChild(madiv);
    Teste �a et tu verras le texte apparaitre tout en bas de la page.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  12. #12
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut
    Effectivement ... Bon, au temps pour moi, je vais utiliser le innerHTML.

    Merci � tous.

  13. #13
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Salut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    var madiv = document.createElement('div');
    madiv.id = 'id_div';
    document.body.appendChild(madiv);
    var texte = "<i>Du texte</i>";
    document.getElementById('id_div').innerHTML = texte;
    Non ?

    EDIT : oups, un peu tard

    A+

  14. #14
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    tu peux m'expliquer le soucis avec �a ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var div = document.createElement( 'div' );
    var texte = document.createTextNode("mon texte");
    div.appendChild(texte);
    div.className = "italique"; // .italique { font-style: italic; }
    meme si "mon texte" est remont� par le xml, �a change rien

  15. #15
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut
    @bigboomshakala : Ce que je re�ois du XML, ce n'est pas que "mon texte", c'est "<i>mon texte</i>", avec la balise <i>. Et je ne peux pas mettre une classe enti�re sur le texte que je re�ois, parce qu'il peut y avoir du texte en dehors des balises, d'autres balises, etc.

  16. #16
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    l� j'ai compris

  17. #17
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    parser le xml avec une regExp pour virer les balises ??
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  18. #18
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut
    Non plus, parce que je veux quand m�me garder la mise en forme propos�e par ces balises.


  19. #19
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Sans savoir si ton contexte de projet particulier le permet, j'aurais quand m�me envie de te proposer une autre possibilit�, non encore �voqu�e : avec la biblioth�que Prototype, la m�thode Element.update(chaine) r�soud ce probl�me et tous ceux qui peuvent �tre associ�s � l'utilisation d'innerHTML, est totalement cross-browser, et enfin (au cas o� �a te soit utile mais je l'ignore ^^) les scripts �ventuellement pr�sents dans le fragment html � ins�rer (entre balises script bien s�r) seront ex�cut�s juste apr�s l'insertion, avec juste le petit d�calage de 10ms suffisant pour que l'�l�ment soit bien pris en compte dans le DOM.

    Bref... � envisager peut-�tre si jamais les autres qualit�s de ce framework te s�duisent d�j� ^^

  20. #20
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut
    @RomainVALERI : J'avoue que l�, �a serait �craser la mouche avec un bazooka. ^^

    Mais comme mon application va commencer � regorger d'AJAX, je pense qu'il va falloir que je me tourne vers les librairies qui g�rent �a, plut�t que d'essayer de r�inventer la poudre.

    A voir.

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. [DOM] Interpr�tation du innerHTML
    Par arnogb69 dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 18/11/2008, 09h42
  2. Afficher un lien HTML dans une page HTML sans qu'il soit interpr�t�
    Par nico1214 dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 3
    Dernier message: 07/11/2008, 23h14
  3. [DOM] interpr�tation de balises HTML
    Par Peggy-riastudio dans le forum Biblioth�ques et frameworks
    R�ponses: 1
    Dernier message: 10/10/2008, 10h42
  4. [DOM] O� placer du contenu HTML sans qu'il soit initialement trait�
    Par gael dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 21/05/2008, 10h26
  5. Affichage code HTML sans interpr�tation
    Par FRANCKYIV dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 21
    Dernier message: 23/08/2006, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo