Если вы видите исходный код JQuery о методе .load()
они
...
self.html(
selector ?
// Create a dummy div to hold the results
jQuery("<div>")
// inject the contents of the document in, removing the scripts
// to avoid any 'Permission Denied' errors in IE
.append(res.responseText.replace(rscript, ""))
// Locate the specified elements
.find(selector) :
// If not, just inject the full result
res.responseText
);
...
Так, если селектор предоставляется (как в вашем случае) они удалить сценарий, чтобы избежать Permission Denied ошибки в IE.
Вам нужно будет имитировать этот код с помощью Jquery .get()
метода
что-то вроде
$("#nav a").click(function() {
$.get(this.hash.substring(1), function(response){
var dummy = $('<div>').append(response).find('#content_inload');
$("#inload_container").html(dummy);
});
});
Также обратите внимание, что я использовал #inload_container
в качестве целевого элемента, как вы вставляя #content_inload
в себе, по сути тиражирование ..
Update
Ну после того, как ваш комментарий я попытался следующие, которые работали
$("#nav a").click(function() {
$.get(this.hash.substring(1), function(response){
$("#inload_container").empty().append(response).find('>*:not(#content_inload)').remove();
});
});
Кажется, что может быть проблемой при создании элементов сценария в объектах Jquery в памяти? (не может быть уверен, что причины)
В вашем конкретном случае выше решение будет работать, но это не очень элегантно, в том смысле, что он добавляет к всему DOM вернулся из вызова Ajax и затем фильтры из того, что мы не хотим ..
Было бы лучше вообще просто изменить свою фактическое видео страницы (тот, загружен с AJAX) и сделать нормальный .load()
без фильтрации ничего из ..
образцов в http://www.divethegap.com/update/community/videos/ (нажмите тестовые видеоролики). –
Что находится на загруженной странице? –