Я хочу решить дублировать объекты в динамическом загружаемом содержимом. Для облегчения понимания ознакомьтесь со следующим исходным кодом.
Базовая страница HTML с 1 динамическим загрузкой содержимого
<body> <div id="general-div"></div>> <div id="div1"></div> <div id="placeholder1"> Dynamic Content will be placed inside this. <div class="inner-div"></div> <div class="div1"></div> </div> </body>
Для script в заголовке этой страницы очень легко выбрать объект "general-div", например, следующий код.
$('#general-div')
Это довольно легко для выбора объекта "внутренний-div" внутри placeholder1. Поэтому я могу выбрать, используя приведенный ниже код.
$('.inner-div')
Вышеприведенный код может работать отлично. Однако я не могу использовать вышеуказанный код, если в том же документе, как и в следующем HTML, имеется более одного дублированного объекта. Вышеприведенный код вернет 2 объекта, которые не нужны мне.
Базовая страница HTML - после загрузки другого динамического загружаемого содержимого
<body> <div id="general-div"></div>> <div id="div1"></div> <div id="placeholder1"> Dynamic Content will be placed inside this. <div class="inner-div"></div> <div class="div1"></div> </div> <div id="placeholder2"> Dynamic Content will be placed inside this. <div class="inner-div"></div> <div class="div1"></div> </div> </body>
Возможное решение 1
Я должен создать указанный объект jQuery foreach script в динамическом загружаемом содержимом, таком как следующий код.
// Deep copy for jQuery object.
var specfiedjQueryObj = $.extend(true, {}, jQuery);
// modify find function in jQuery object.
specfiedjQueryObj.fn.find = function(selector)
{
// by adding placeholder selector before eval result.
return new specfiedjQueryObj.fn.old_find('#placeholder1 ' + selector);
};
// So, I can select any object in dynamic loading content.
(function($)
{
// This result must be 1 object.
$('.div1');
})(temp);
Хотя это решение должно работать отлично. Но я обнаружил, что jQuery - очень сложный объект. Я обнаружил много ошибок, когда я пытаюсь их использовать.
Есть ли у вас идея решить эту проблему?
PS. Идентификатор PlaceHolder не является фиксированным идентификатором. Таким образом, невозможно установить его в правиле выбора. Более того, я не знаю точно количества элементов и позиций (сначала, последнего или среднего) в документе. Из-за динамического загружаемого контента будет отображаться на большой странице.