Это ваши варианты:
- Когда вы загружаете контент, вы каким-то образом помечаете родителя (проще всего, наверное, с помощью специального имени класса). Затем содержимое может выполнить поиск в цепочке предков с помощью
.closest(".markerName")
, чтобы найти его в любом месте содержимого.
- Вы знаете кое-что о структуре загруженного контента, чтобы контент знал, где он находится сверху, и можете перейти на один уровень выше, чтобы найти родителя загрузки.
- Вы сохраняете родительский элемент загрузки в глобально доступной переменной javascript, чтобы содержимое могло извлекать ее, когда это необходимо.
Обратите внимание, я думаю, что вы обычно хотите использовать .closest(selector)
вместо .parents(selector)
. Вы можете прочитать об этом здесь .
Редактировать - на основе вопроса, который вы задаете в своем комментарии:
Хранение родительского элемента загрузки в глобальной переменной - мой наименее рекомендуемый вариант, но, поскольку вы спрашиваете, как это сделать, вот как:
Когда ваш метод load-child делает это:
$(o.target).load(path, function(){
вы бы просто запомнили значение o.target
следующим образом:
window.loadTarget = $(o.target);
Тогда window.loadTarget
будет глобальной переменной, содержащей место, где вы последний раз загружали контент.
Лично я бы предпочел, чтобы вы использовали специальное имя класса. Итак, вы бы заменили это:
$(o.target).load(path, function(){
с этим:
$(o.target).addClass("loadTarget").load(path, function(){
, а затем в любом месте содержимого, в котором вы хотите найти цель загрузки, вы сделаете следующее:
$(this).closest("loadTarget")
Этот второй параметр исключает любые новые глобальные переменные и поддерживает несколько loadTargets одновременно.