2013-03-12 53 views
6

Để bắt đầu, tôi đã dành vài giờ duyệt luồng ngăn xếp trên các chủ đề liên quan. Nhiều người trong số họ có vẻ rất giống với vấn đề tôi đang gặp phải, thậm chí có một cặp đôi giống tôi gần như hoàn hảo. Tuy nhiên, các bản sửa lỗi làm việc cho họ dường như không hoạt động đối với tôi. Tôi nghĩ rằng tốt nhất là nên đăng mã của mình và nhờ người khác xem chúng; Tôi sẽ cố gắng càng chi tiết càng tốt.Thay đổi nội dung div qua jquery bằng một nội dung của tệp html khác

Tôi đang cố gắng làm: Tôi có thiết lập trang có liên kết bên trong li và khi được nhấp, nó được cho là sẽ lấy một số nội dung html từ một trang khác mà tôi đã tạo. Cụ thể hơn, nó được cho là để kéo ra các nội dung html từ một id div cụ thể trong trang đó. Tôi gặp khó khăn khi kéo bất cứ thứ gì ra khỏi nó, và để nó được đăng lên trang chính của tôi.

phần HTML của tôi với điều hướng menu:

<ul id="nav_main"> 
    <li class="navLink">link here</li> 
</ul> 

Các div đó là nghĩa vụ phải thay đổi động (trên nhấp chuột) được dán nhãn như thế này:

<div id="main_content"> 
    <p></p> 
</div> 

Các tập tin .html khác mà tôi kéo dữ liệu từ có một div trông giống như sau:

<div id="one">blahbalhblahblahlbhalbhlah</div> 

Phần tôi gặp khó khăn với tôi s mã javascript. Tôi đã thử sử dụng tải và nhận được, và dường như không được làm việc. Đây là mã bộ xương của tôi:

$(document).ready(function(){ 
    $("#nav_main li").on("click", function() { 
     // here was my first attempt: 
     $("#main_content p").load("contentholder.html #one"); 

     // my second attempt, using get(): 
     $.get("contentholder.html", function(data) { 
      $("#main_content p").html(data) 
     }); 
}); 

Vấn đề của tôi với điều này là #main_content dường như không thay đổi. Tôi nghĩ rằng vấn đề là tải và nhận được nỗ lực không hoạt động, họ dường như không được kéo dữ liệu ra như nó được cho là.

Tất cả các tệp này đều nằm trên ổ đĩa cục bộ của tôi. Bất kỳ trợ giúp sẽ được đánh giá rất

+1

Sử dụng firebug hoặc Fiddler để xem các cuộc gọi và xem câu trả lời. Điều này sẽ cho bạn biết nếu nó đi ra ngoài máy chủ và phản ứng của máy chủ là gì. Contentholder.html có cùng cấp thư mục với trang gọi nó không? Bạn có nhận được bất kỳ lỗi JS nào có thể ngăn chặn sự kiện không? – scrappedcola

Trả lời

1

Ngoài các lỗi cú pháp của bạn chỉ ra bởi Brad M, hãy nhớ rằng hầu hết các trình duyệt ngăn chặn các cuộc gọi AJAX nếu họ không được thực hiện từ một máy chủ, do đó, nếu bạn không chạy một localhost, rất có thể bạn sẽ gặp phải lỗi Access-Control-Allow-Origin khi thực hiện cuộc gọi AJAX.

Xem thêm thông tin tại đây: Get HTML code of a local HTML file in Javascript

+0

oh tôi hiểu rồi. Tôi cảm thấy khá ngu ngốc bây giờ lol. Cảm ơn một bó, tôi sẽ làm điều đó và thử nó! –

+0

Vì vậy, tôi đã cài đặt XAMP, tôi có tất cả các tệp được tải vào cùng một thư mục bên trong localhost, và nó vẫn không hoạt động: ( Tôi thậm chí không thể nhận được .html() để thay đổi, ngay cả khi tôi không cố gắng lấy nội dung từ một tệp khác. Ví dụ: tôi đã thử viết $ (" #main_content p ") html (" tại sao điều này không hoạt động? "), và nó không hoạt động. Nó thay đổi cho một giây ngắn gọn ngay khi bạn nhấp vào liên kết, sau đó thay đổi lại thành không có gì –

+0

Bạn có thể đăng liên kết tới trang làm việc của bạn? – zakangelle

4
$(document).ready(function(){ 
    // your code here 
}); 

Bạn đang thiếu function(){

+0

Xin lỗi, tôi nên thêm nó vào. Tôi thực sự có một chức năng gắn liền với nó, chỉ cần quên để đặt nó trong bài viết của tôi. Nó vẫn không hoạt động: ( –

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