Partage
  • Partager sur Facebook
  • Partager sur Twitter

propriété non reconnu

Sujet résolu
    18 juillet 2019 à 16:38:13

    var tab = document.querySelectorAll('.size');
    
    for(var i = 0 ; i <= tab.length ; i++){
    
    		var txt = tab[i].textContent;
    	  	var txt = txt.substring(0, 200);
    		var elt = document.createTextNode(txt);
    		tab[i].textContent = '';
        		tab[i].appendChild(elt);
    
    }
    

    voila le problème je travaille sur un projet perso, j'ai créé un slider (qui fonctione) en jQuery, par un souci d'équilibre j'ai souhaité avoir la même longueur de texte sous chaque vignette (car à chaque image son texte). Le script ci-dessus fonctionne MAIS le navigateur m'affiche dans la console.

     jquery-3.3.1.min.js:2 jQuery.Deferred exception: Cannot read property 'textContent' of undefined TypeError: Cannot read property 'textContent' of undefined

    Le truc c'est que quand je fais un console.log sur txt, la variable contenant le textContent, la valeur apparait bien dans la console. Au passage le slider ne fonctionne plus.

    Alors j'ai compris qu'il y a un conflit avec jQuery, que le problème vient de jQuery.Deferred exception. J'ai vérifié l'emplacement de mes balises script qui se trouvent à la fin de mon index.php.

    Si quelqu'un pouvait m'expliquer mon erreur, ça serait cool, merci d'avance.

    Bon je pense avoir compris mon erreur, en englobant mon script avec un setTimeout le tout fonctionne.

    -
    Edité par Odul Nibas 18 juillet 2019 à 17:02:56

    • Partager sur Facebook
    • Partager sur Twitter
      18 juillet 2019 à 17:08:54

      Hello,

      Quelques problèmes avec ton code : 

      - Tu déclares deux fois ta variable txt.
      - Ta boucle va un cran trop loin dans ton tableau, c'est i < tab.length et non <=.

      Tu te compliques la vie, si tu utilises jQuery tu peux faire quelque chose comme ça :

      $( ".size" ).each(function( index ) {
        $(this).text($(this).text().substring(0,200))
      });

      Exemple : https://jsfiddle.net/qL92o0db/1

      -
      Edité par EdmondProchain 18 juillet 2019 à 17:10:08

      • Partager sur Facebook
      • Partager sur Twitter

      propriété non reconnu

      × 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