2009-05-14 28 views
7

nó phải jqueryAjax thêm tải

Tôi có tập tin text.html với 6 div trong (a, b, c, d, e, f)

Trong tập tin khác tôi có một div , tôi thích nó để điền nội dung của một + b + c + d + e + f vào đó div duy nhất

Tôi đã thử .load = but b remplace a tôi đã thử thêm, nhưng tôi cần một temp var

vì vậy bây giờ tôi bị kẹt

Mã đó lấy nội dung từ tệp textes.html ... div #a và đặt nội dung vào div #right, nhưng bộ tộc thứ hai REMPLACE nội dung bên phải a có b

Tôi thích chắp thêm nội dung a + b kHÔNG một trên b

$(document).ready(function(){ 
var temp = load('textes.html #nicolas'); 
$('#right').append(temp); 
var temp = load('textes.html #antoine'); 
$('#right').append(temp); 
. 
. 
. 
. 

return false; 
}); 

mã đó là ý tưởng đằng sau những gì nên làm việc, nhưng tôi không thể làm cho một .load ajax() để tải nội dung vào một biến để thêm nội dung vào div. ..

<script type="text/javascript"> 
$(document).ready(function(){  
$.ajax({ 
    url: "textes.html", 
    cache: false, 
    success: function(html){ 
    $("#right").append(html); 
    } 
}); 
}); 
</script> 

Mã đó tải W Tệp html HOLE, tôi muốn chỉ nhận một số DIV được chọn #

Trả lời

15
$(document).ready(function(){  
    $.get("textes.html",function(data){ 
     $("#right").append($("#nicolas",data)).end().append($("#antoine",data)); 
    },'html');  
}); 
+0

kết quả: không có gì .. trống! – menardmam

+0

nếu thực tế bạn có một phương thức đơn giản để lấy nội dung .load() vào một var, tôi sẽ nối thêm mọi thứ vào var đó và đẩy nó vào div ở cuối! – menardmam

+0

marc, .load() là không đồng bộ nên bạn không thể gọi nó theo cách bạn đang cố gắng.Tôi đã không kiểm tra mã đó, nhưng đó là cách thực hiện nó. .load() chỉ là một trình bao bọc quanh $ .get là một trình bao bọc quanh $ .ajax http://docs.jquery.com/Ajax –

0

Điều này nghe có vẻ giống như jQuery? Vui lòng nêu rõ bạn đang sử dụng khung nào vì tôi thực sự không thể thấy bất kỳ đề cập nào về nó. Dù sao, phụ thêm sẽ hoạt động. Chỉ cần làm một cái gì đó như:

mydiv.append(a.text()); 
mydiv.append(b.text()); 
mydiv.append(c.text()); 
mydiv.append(d.text()); 
mydiv.append(e.text()); 
mydiv.append(f.text()); 

Tất cả chúng nên được thêm vào mydiv. LƯU Ý: nếu bạn cũng muốn html, hãy sử dụng hàm .html() thay vì .text().

+0

Các div rằng ông muốn nạp dữ liệu vào trong một file html vì vậy đây sẽ không hoạt động. –

5

Tôi đã có một vấn đề tương tự chỉ là bây giờ và tôi nghĩ rằng tôi đã tìm ra một cách để làm những gì chúng ta muốn sử dụng .load() chức năng. Nó không đẹp nhưng không bao giờ nhớ;)

Trước hết, tôi đã thêm "TempDiv" vào html của mình với kiểu "hiển thị: ẩn".

<div id="TempDiv" style="visibility:hidden"></div> 

Sau đó, bạn chạy jQuery:

$(document).ready(function(){ 
     $('#TempDiv').load('textes.html #nicolas', function(){ 
      $('#right').append($('#TempDiv').html()); 
     }); 

    }); 

Tôi không chắc đó là cách tốt nhất!

PS: Đó là bài viết của tôi đầu tiên stackoverflow;)

2

thử,

$.get('url.php', function(data) { 
    $("#right").append(data); 
});