Jak rozwiązać duplikaty obiektów na stronie dynamicznego ładowania za pomocą jQuery?

Chcę rozwiązywać duplikaty obiektów w dynamicznie ładowanej treści. Spójrz na poniższy kod źródłowy, aby łatwiej go zrozumieć.

Podstawowa strona HTML z 1 dynamiczną treścią ładowania

<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>

W przypadku skryptu w nagłówku tej strony bardzo łatwo jest wybrać obiekt „general-div”, taki jak poniższy kod.

 $('#general-div')

Jest to dość łatwe do wybrania obiektu „inner-div” wewnątrz placeholder1. Więc mogę wybrać używając poniższego kodu.

 $('.inner-div')

Powyższy kod może działać idealnie. Nie mogę jednak użyć powyższego kodu, gdy w tym samym dokumencie znajduje się więcej niż jeden zduplikowany obiekt, taki jak następujący HTML. Powyższy kod zwróci 2 obiekty, których nie chcę.

Strona podstawowa HTML - Po załadowaniu innej dynamicznej zawartości ładowania

<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>

Możliwe rozwiązanie 1

Muszę utworzyć określony skrypt foreach obiektu jQuery w dynamicznie ładowanej treści, takiej jak poniższy kod.

 // 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);

Mimo to rozwiązanie to powinno działać świetnie. Ale odkryłem, że jQuery jest bardzo złożonym obiektem. Znalazłem wiele błędów, gdy próbowałem go użyć.

Czy masz jakiś pomysł na rozwiązanie tego problemu?

PS.Identyfikator PlaceHolder nie jest stałym identyfikatorem. Tak więc nie można go naprawić w regule selektora. Co więcej, nie znam dokładnie ilości elementu i pozycji (pierwszej, ostatniej lub środkowej) w dokumencie. Ze względu na dynamiczne ładowanie treści będą wyświetlane na wielu stronach.

questionAnswers(4)

yourAnswerToTheQuestion