2009-12-30 12 views
17

Ho un file html che mi piacerebbe aprire e leggere, ma non sono del tutto sicuro di come farlo ... In pratica, è un file abbastanza grande (big.html), e, in un file separato file (titles.html), ho un codice jquery che mi piacerebbe usare per trovare determinati elementi (vale a dire i tag h2) e ottenere il testo interno da quei tag e scrivere solo quel testo su titles.html ... I Non sono sicuro, in particolare, come aprire un file separato e leggere da esso, e in secondo luogo, non sono sicuro se il codice qui sotto funzionerà quando si tratta di ottenere il testo all'interno dei tag h2 ...jquery - Leggi un file di testo?

$(document).ready(function() { 
    $("h2").each(function() { 
     var title = $(this).text(); 
     $("#mydiv").append(title); 
    }); 
}); 

... 

<div id="mydiv"></div> 

Sono un po 'confuso su come farlo con jquery ... Sono abbastanza nuovo per tutto, quindi non sono nemmeno sicuro che sia possibile ...

+0

Avete un langauge lato server disponibili? Potrebbe essere un'opzione migliore. –

risposta

25

jQuery fornisce un metodo $.get che può acquisire i dati da un URL. Quindi per "leggere" il documento html/testo, deve essere accessibile tramite un URL. Una volta recuperati i contenuti HTML dovresti essere in grado di avvolgere quel markup come set jQuery e cercarlo normalmente.

testato, ma il senso generale di esso ...

var HTML_FILE_URL = '/whatever/html/file.html'; 

$(document).ready(function() { 
    $.get(HTML_FILE_URL, function(data) { 
     var fileDom = $(data); 
     fileDom.find('h2').each(function() { 
      alert($(this).text()); 
     }); 
    }); 
}); 
+0

Ho provato qualcosa di simile (e poi, questo) e ho appena ricevuto un errore ... la quantità di spazio dello stack dello script è esaurita ... quindi, immagino che il file sia troppo grande? – phpN00b

+1

Wow ... quanto è grande (byte) il file? Potresti provare a caricarlo a pezzi con una serie (o un ciclo) di istruzioni come quella fornita nell'esempio sopra. – cjstehno

4

Una soluzione sarebbe "leggere" nel 2 ° documento inserendolo in un iframe nascosto. Quindi puoi accedere all'HTML in quell'iframe come indicato in here e fare quello che vuoi con quei dati.