Tôi có một cuộc gọi AJAX điển hình gắn thêm một số HTML vào trang hiện tại. Tôi muốn có thể truy cập vào HTML mới được chèn vào với các bộ chọn jQuery điển hình.Truy cập đối tượng DOM sau khi gọi AJAX?
Đây là những gì tôi muốn như để có thể làm ...
$.ajax({
url: url,
success: function(data) {
$('body').append(data);
}
});
$('#new_div').show();
#new_div
sẽ có một số yếu tố HTML từ dữ liệu tôi lấy ra. Tôi không nhất thiết muốn đính kèm sự kiện vào các phần tử mới (như click
), vì vậy hãy sử dụng một số thứ như .load()
hoặc .on()
không hoạt động ở đây (theo như tôi biết).
Tôi đã cố gắng thiết lập cuộc gọi $.ajax()
thành biến: var new_div = $.ajax(...)
nhưng điều đó đã không đưa tôi đến bất kỳ đâu.
a) Có phải bạn xác minh của bạn yêu cầu ajax thực sự hoạt động (với bảng điều khiển dành cho nhà phát triển, cảnh báo hoặc firebug) và b) đầu ra của nó là gì? – DanFromGermany
Đúng, yêu cầu hoạt động tốt. Đầu ra khi cố truy cập phần tử DOM mới bên ngoài cuộc gọi thành công chỉ là không xác định. – Shpigford
AJAX là không đồng bộ nên 'new_div' chưa được thêm vào –