Partage
  • Partager sur Facebook
  • Partager sur Twitter

dernierMessage.indexOf is not a function

    7 décembre 2017 à 12:47:02

    Salut à tous, j'avais déjà poser cette question mais j'arrive toujours pas à régler le problème mon problème c'est que je comprend pas

    pourquoi il me retourne : dernierMessage.indexOf is not a function ...

    Mon code :

    /* Nouvelle soluce */
    
    const dernierMessage = function(){
      let messages = document.querySelectorAll('.msg-chat-message');
      let lastchild = messages[messages.length-1];
    
      console.log(lastchild.innerText)
    }
    
    if(dernierMessage.indexOf('salut') != -1){
      alert('work!');
    }
    • Partager sur Facebook
    • Partager sur Twitter
      7 décembre 2017 à 14:03:12

      Salut,

      Essaye de faire un console.log de dernierMessage voir. Je suis persuadé qu'il va te retourner NULL étant donné que tu ne retourne aucune valeur dans ta fonction, tu fais juste un débuguage.

      Donc forcément essayer de faire un indexOf d'un élément NULL, ça te sort un message d'erreur.

      dernierMessage doit être un array pour pouvoir utiliser indexOf, essaye donc de faire return lastchild dans ta fonction.

      • Partager sur Facebook
      • Partager sur Twitter
        7 décembre 2017 à 14:14:16

        En plus du return il faut aussi appeler comme une fonction :

        if(dernierMessage.indexOf('salut') != -1){
        // devient
        if(dernierMessage().indexOf('salut') != -1){



        • Partager sur Facebook
        • Partager sur Twitter
          7 décembre 2017 à 16:50:57

          Shonen17 a écrit:

          Salut,

          Essaye de faire un console.log de dernierMessage voir. Je suis persuadé qu'il va te retourner NULL étant donné que tu ne retourne aucune valeur dans ta fonction, tu fais juste un débuguage.

          Donc forcément essayer de faire un indexOf d'un élément NULL, ça te sort un message d'erreur.

          dernierMessage doit être un array pour pouvoir utiliser indexOf, essaye donc de faire return lastchild dans ta fonction.

          C'est bon j'ai réussi merci à vous deux.

          /* test */
          
          const dernierMessage = [
            function () {
              const messages = document.querySelectorAll('.msg-chat-message'); 
              const lastchild = messages[messages.length-1].innerText;
              return lastchild;
            }
          ]
          
          if(dernierMessage[0]().indexOf('ouai') != -1){
            alert('work!');
          }

          -
          Edité par -Developpeur 7 décembre 2017 à 17:48:18

          • Partager sur Facebook
          • Partager sur Twitter

          dernierMessage.indexOf is not a function

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown