2009-12-30 48 views
17

Tôi có một tập tin html mà tôi muốn mở và đọc từ, nhưng tôi không hoàn toàn chắc chắn làm thế nào để làm điều đó ... Về cơ bản, nó là một tập tin khá lớn (big.html), và, trong một riêng biệt tập tin (titles.html), tôi có một số mã jquery mà tôi muốn sử dụng để tìm các yếu tố nhất định (cụ thể là, thẻ h2) và nhận được văn bản bên trong từ các thẻ và chỉ viết văn bản đó vào titles.html ... I 'không chắc chắn, đặc biệt, làm thế nào để mở một tập tin riêng biệt và đọc từ nó, và thứ hai, tôi không chắc chắn nếu mã dưới đây sẽ làm việc khi nói đến nhận được văn bản trong các thẻ h2 ...jquery - Đọc một tập tin văn bản?

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

... 

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

Tôi hơi bối rối làm thế nào để làm điều đó với jquery ... Tôi khá mới với toàn bộ điều, vì vậy tôi thậm chí không chắc chắn nó có thể ...

+0

Bạn có một langauge server-side có sẵn? Đó có thể là một lựa chọn tốt hơn. –

Trả lời

25

jQuery cung cấp phương thức $.get có thể thu thập dữ liệu từ URL. Vì vậy, để "đọc" tài liệu html/text, nó cần phải được truy cập thông qua một URL. Một khi bạn lấy các nội dung HTML, bạn chỉ có thể bọc đánh dấu đó như một bộ bao bọc jQuery và tìm kiếm nó như bình thường.

chưa được kiểm tra, nhưng các ý chính chung của nó ...

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

Tôi đã thử một cái gì đó như thế này (và sau đó, điều này) và tôi chỉ nhận được một lỗi ... không gian bộ nhớ ngăn xếp kịch bản là kiệt sức ... vì vậy, tôi đoán tập tin là quá lớn? – phpN00b

+1

Chà ... tệp lớn (byte) là bao nhiêu? Bạn có thể thử tải nó thành từng phần bằng một chuỗi (hoặc vòng lặp) của các câu lệnh giống như câu lệnh được cung cấp trong ví dụ trên. – cjstehno

4

Một giải pháp sẽ là "đọc" trong tài liệu thứ 2 bằng cách đặt nó vào khung nội tuyến ẩn. Sau đó, bạn có thể truy cập vào HTML trong khung nội tuyến đó như được ghi chú here và làm bất cứ điều gì bạn thích với dữ liệu đó.

Các vấn đề liên quan