2016-06-04 1 views
1

Je veux obtenir tout le texte d'une page html dans une chaîne pour l'imprimer sur la console. Jusqu'à présent, j'ai ce morceau de code qui ne fonctionne que partiellement parce que document.body.innerText renvoie le texte avec des freins de ligne que je ne veux certainement pas. Je veux que tout mon texte apparaisse en 1 ligneRécupérer tout le texte sous forme de chaîne à partir de la page

<html> 
    <head> 
     <h1>wtf</h1> 
    </head> 
    <body> 
     <div>dddiiiv</div> 
     <a>aaaaa</a> 
     <p>ppp</p> 
     <div>div</div> 
     <div id="impar"></div> 
     <div id="par"></div> 
     <div id="all"></div> 
     <script> 
      var elems = document.body.innerText; 
      var odd = ""; 
      var even = ""; 
      var all = ""; 
      for (k in elems){ 
       all = all + elems[k]; 
       if (k % 2 === 0) { 
        even = even + elems[k] 
       } else { 
        odd = odd + elems[k] 
       } 
      } 


      console.log(all); 
      console.log(odd); 
      console.log(even); 
     </script> 
    </body> 
</html> 

Avez-vous une idée de la possibilité de vous déplacer pour les freins de innerText?

+1

Retirez les nouvelles lignes? 'str.replace (/ \ n/g," ");' – andlrc

+0

Copie possible de [Extrait du texte HTML avec Javascript] (http://stackoverflow.com/questions/6090395/extract-text-from-html-with -javascript) – Jerzyk

Répondre

1

j'ai utilisé .trim() et URL codepen pour référence - http://codepen.io/nagasai/pen/jrPpeK

<html> 
     <head> 
      <h1>wtf</h1> 
     </head> 
     <body> 
      <div>dddiiiv</div> 
      <a>aaaaa</a> 
      <p>ppp</p> 
      <div>div</div> 
      <div id="impar"></div> 
      <div id="par"></div> 
      <div id="all"></div> 

     </body> 
    </html> 

Javascript

var elems = document.body.innerText; 
       var odd = ""; 
       var even = ""; 
       var all = ""; 
       for (k in elems){ 
        all = all + elems[k]; 
        if (k % 2 === 0) { 
         even = (even + elems[k]).trim(); 
        } else { 
         odd = (odd + elems[k]).trim(); 
        } 
       } 


       console.log(all); 
       console.log(odd); 
       console.log(even); 

Espérons que cela est utile