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] ajouter un element dynamiquement dans un tableau (<table>)


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut [DOM] ajouter un element dynamiquement dans un tableau (<table>)
    Bonjour,


    je suis debutant en programmation javascript et je cherche a développer un petit script pour greasemonkey, la page sur laquel le script va s'excuter et de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    <html>
    <head>
    <title>test</title>
    </head>
    <body>
     
     
    <table>
    <tr>
    <th class="sep">HEURE</th>
    <th class="sep">ARTISTE</th>
    <th class="sep">TITRE</th>
    <th class="sep">Commander</th>
    </tr>
     
    <tr>
    <td>14:05</td>
    <td>James Brown</td>
    <td><em>Papa's got a brand new bag</em></td>
    <td style="text-align: center;"><a href="http://www3.fnac.com/..." target="_blank" title="Commander avec fnac.com" onclick="xt_med('C','','[F] QuoiCeTitre : James Brown / Papa\'s got a brand new bag','S')"><img src="/_template/base/style/icon_ctkoi2_commander.gif" alt="Commander avec fnac.com" /></a></td>
    </tr>
     
    <tr>
    <td>14:02</td>
    <td>Fujiya & Miyagi</td>
    <td><em>Sore thumb</em></td>
    <td style="text-align: center;"><a href="http://www3.fnac.com/..." target="_blank" title="Commander avec fnac.com" onclick="xt_med('C','','[F] QuoiCeTitre : Fujiya & Miyagi / Sore thumb','S')"><img src="/_template/base/style/icon_ctkoi2_commander.gif" alt="Commander avec fnac.com" /></a></td>
    </tr>
     
    <tr>
    <td>13:58</td>
    <td>Bob Henzel</td>
    <td><em>World keeps spinning</em></td>
    <td style="text-align: center;"><a href="http://www3.fnac.com/..." target="_blank" title="Commander avec fnac.com" onclick="xt_med('C','','[F] QuoiCeTitre : Bob Henzel / World keeps spinning','S')"><img src="/_template/base/style/icon_ctkoi2_commander.gif" alt="Commander avec fnac.com" /></a></td>
    </tr>
     
    <tr>
    <td>13:55</td>
    <td>Ice Cube</td>
    <td><em>You know how we do it</em></td>
    <td style="text-align: center;"><a href="http://www3.fnac.com/..." target="_blank" title="Commander avec fnac.com" onclick="xt_med('C','','[F] QuoiCeTitre : Ice Cube / You know how we do it','S')"><img src="/_template/base/style/icon_ctkoi2_commander.gif" alt="Commander avec fnac.com" /></a></td>
    </tr>
     
    <tr>
    <td>13:52</td>
    <td>Bahta Gebre Heywet</td>
    <td><em>Ewnet yet lagegnesh</em></td>
    <td style="text-align: center;"><a href="http://www3.fnac.com/..." target="_blank" title="Commander avec fnac.com" onclick="xt_med('C','','[F] QuoiCeTitre : Bahta Gebre Heywet / Ewnet yet lagegnesh','S')"><img src="/_template/base/style/icon_ctkoi2_commander.gif" alt="Commander avec fnac.com" /></a></td>
    </tr>
     
    <tr>
    <td>13:48</td>
    <td>Map Of Africa</td>
    <td><em>Bone</em></td>
    <td style="text-align: center;"><a href="http://www3.fnac.com/..." target="_blank" title="Commander avec fnac.com" onclick="xt_med('C','','[F] QuoiCeTitre : Map Of Africa / Bone','S')"><img src="/_template/base/style/icon_ctkoi2_commander.gif" alt="Commander avec fnac.com" /></a></td>
    </tr>
     
    <tr>
    <td>13:45</td>
    <td>Sylvester</td>
    <td><em>I've been down</em></td>
    <td style="text-align: center;"><a href="http://www3.fnac.com/..." target="_blank" title="Commander avec fnac.com" onclick="xt_med('C','','[F] QuoiCeTitre : Sylvester / I\'ve been down','S')"><img src="/_template/base/style/icon_ctkoi2_commander.gif" alt="Commander avec fnac.com" /></a></td>
    </tr>
    </table>
     
    </body>
    </html>
    le page represente un tableau , avec le nom de la chanson , de l'artiste et l'heure a laquelle la chanson à été diffusé , ainsi qu'une case vers la fnac pour commander le cd.

    Je souhaiterais que mon script ajoute dans la meme case ou il y a le lien fnac , un lien vers le site myspace avec le nom de l'artiste directement en recherche.

    Donc clairement je cherche a récupérer le nom de l'artiste se trouvant sur la même ligne dans la 2em colonne , et d'ajouter un lien toujours sur la meme ligne dans la derniere colonne vers le site myspace.

    S'il y a des pros du javascript merci de m'orienter , qu'elle est la solution la plus simple ? avez vous des scripts d'exemple d'action réaliser ds un tableau pour que je puisse m'en inspirer ?

    d'avance merci

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Bonjour ,
    tu peux déja commencer par regarder la Faq notamment l'insertion de ligne dans un tableau , après je te conseillerais de regarder le DOM pour ajouter des éléments dans une page html

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut
    Merci le_chomeur d'avoir repondu , je souhaite pas ajouter une ligne dans un tableau mais juste ajouter le lien dans une case dejà existante ( la ou il y a le lien vers la fnac)
    il me semble qu'il faudrait faire une boucle qui cherche toutes les balises <td> mais comment lui indiquer dans quelle case y ajouter mon lien étant donnée qu'il n'y a aucun id associé

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    en parcourant tes td exemple :

    var mesTD = document.getElementById('tontableau').getElementsByTagName('td');

    mesTD est donc un tableau de td ... si tu sais laquelle remplir ( par x méthode , si elle contient une image , si c'est la 5 eme etc ...

    matd = mesTD[i] ; // i = l'index de la td souhaité


    matd.appendChild(tonlien) ; // tonlien au format DOM

    Voila schématiquement

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut
    j'ai reussi à faire un debut de script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    // pour chaque lien, on cherche si c'est un lien qui contient "www3.fnac.com"
    // si c'est le cas, c'est la case qui nous interesse
     
    for (var i=0; i < document.getElementsByTagName('a').length; i++) 
    {
    var matches = document.getElementsByTagName('a')[i].href.match(/www3.fnac.com/);
     
    	if (matches) 
    		{
                          //je remonte à la balise td
    			var sNom = ""
    			var oNode = document.getElementsByTagName('a')[i];
    			oNode = oNode.parentNode;
    			sNom = oNode.nodeName;
    			alert(sNom);
    		}
    }
    En suite je suis bloqué que dois-je utiliser pour ajouter un lien dans ma balise td .remplace, innerHTML , ou appenchild ?

    je cherche desesperement des exemples sur comment ajouter un lien dans une balise <td> mais je ne trouve rien

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    admettons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var macellule ; // ( est déja un td je zapp la procédure de selection ...
     
    var monlien = document.createElement('a'); //lien
    monlien.href="www.developpez.com"; // la ref
    monlien.appendChild(document.createTextNode('un super site')); // le text
     
    macellule.appendChild(monlien); //insertion dans la cellule

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 06/11/2011, 21h17
  2. Réponses: 3
    Dernier message: 21/06/2009, 15h16
  3. [DOM] ajout suppression de ligne dans plusieurs tableau
    Par Invité dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 27/06/2008, 16h33
  4. [DOM] Ajout d'element dans un formulaire
    Par mat2424 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/01/2008, 10h37
  5. Ajout de ligne dynamique dans un tableau (Incompatible IE)
    Par seb34 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 26/05/2006, 11h03

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