CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Javascript] Supprimer texte de innerHTML

Byzil18
Byzil18
Niveau 7
02 décembre 2017 à 15:58:25

Bonjour j'ai ce code

var afficherNews = function() {
    news = document.getElementById('news')
    news.innerHTML = ""
    for (i; i < x; i++) {
      txt += get[i].childNodes[0].nodeValue + "<br />"
      news.innerHTML = txt
      }
}

En gros mon appli va afficher 3 titres de news.google.com/rss à la fois, ensuite attendre 5 secondes et afficher de nouveau 3 news. Le problème c'est que de cette manière ça m'ajoute 3 titres à la suite et ça supprime pas les précédents.
Pourtant j'ai vu ici
https://stackoverflow.com/questions/12600548/remove-previous-text-and-display-new-using-javascript-innerhtml
qu'il fallait mettre .innerHTML au début de la fonction

Tacha-tepoilu
Tacha-tepoilu
Niveau 12
02 décembre 2017 à 17:44:32

Tu concatènes tes nouveaux articles dans txt. Enlève le + et tu n'auras plus de problème.

andeunv
andeunv
Niveau 45
02 décembre 2017 à 17:58:07
<!DOCTYPE html>
<html>
    <head>
        <title>my rss feed</title>
        <meta charset="utf-8">
    </head>
    <body>
        <p id="news"></p>
        <script type="text/javascript">
            function afficherNews(arrayNews){
                var news = document.getElementById('news');
                news.innerHTML = "";
                arrayNews.forEach((val)=>{
                    news.innerHTML += val + "<br>";
                })
            }

            setInterval(()=>{afficherNews(["Un malade mental tue un oiseau", "Java ça pue", "lol"])}, 5000)
        </script>
    </body>
</html>

C'est un peu sale, mais c'est ce que tu veux ?

Byzil18
Byzil18
Niveau 7
03 décembre 2017 à 21:59:39

Le 02 décembre 2017 à 17:44:32 Tacha-tepoilu a écrit :
Tu concatènes tes nouveaux articles dans txt. Enlève le + et tu n'auras plus de problème.

Sauf que là il m'affiche qu'une ligne c'est pas ce que je veux.

Byzil18
Byzil18
Niveau 7
03 décembre 2017 à 22:04:47

Le 02 décembre 2017 à 17:58:07 andeunv a écrit :
C'est un peu sale, mais c'est ce que tu veux ?

Non, "get" dans la ligne txt += get[i].childNodes[0].nodeValue + "<br />" ça fait reference à "xmlhttp.responseXML.xmlDoc.getElementsByTagName("title") qui va me donner les titres. Les titres sont déjà là https://news.google.com/rss?ned=fr&gl=FR&hl=fr . J'ai juste récupéré ça je veux pas en créer

Pseudo supprimé
Pseudo supprimé 03 décembre 2017 à 22:30:34

C'est simplement ta variable txt qu'est jamais vidée nan ? :(

andeunv
andeunv
Niveau 45
03 décembre 2017 à 23:42:53

Le 03 décembre 2017 à 22:30:34 Noukkie a écrit :
C'est simplement ta variable txt qu'est jamais vidée nan ? :(

oui, c'est ça

var afficherNews = function() {
    news = document.getElementById('news')
    news.innerHTML = ""
    var txt = "" //(et si t'en as besoin globalement, supprime le var)
    for (i; i < x; i++) {
      txt += get[i].childNodes[0].nodeValue + "<br />"
      news.innerHTML = txt
      }
}
Message édité le 03 décembre 2017 à 23:46:02 par andeunv
Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment