rss LEGFRISSEBB TÉMÁK Csatlakozz új fórumunkhoz...

Each - get - miért nem működik?

JavaScript, jQuery, Ajax programozási fórum.
lmartin
Hozzászólások: 4
Csatlakozott: 2016.09.19. 10:05

Each - get - miért nem működik?

HozzászólásSzerző: lmartin » 2016.09.30. 09:27

Üdvözletem! Nem értem, hogy miért nem működik az alábbi jQuery.
Amíg 1 "data-url"-t tartalmazó elem volt az oldalon, működött. Most, hogy kettő ilyen is van, csak a másodikon megy, és nem a megfelelő adat jelenik meg. Miért?

Kód: Egész kijelölése

   $('[data-url]').each(function() {
      obj = $(this);
      if(obj.data("url")!="") {
         $.get(obj.data("url"),function(data) {
            obj.data("title", data);
         });
      }
   });

gBaSoft
Hozzászólások: 31
Csatlakozott: 2016.08.04. 01:32

Re: Each - get - miért nem működik?

HozzászólásSzerző: gBaSoft » 2016.09.30. 12:31

A $.get értékére várni kell, mert idő, mire egy url betöltődik. Viszont az each addig sem áll meg!
Mire az url tartalmát fel lehetne dolgozni, az obj már egészen másik objektumra mutat, mint amikor az url lekérdezés indult.
Elképzelhető, hogy a dokumentum utolsó eleme kapja csak meg az első elemnél elindított url lekérés eredményét.

Egy külön függvényhívással megoldható a probléma.

Kód: Egész kijelölése

function myGet(obj)
{
   $.get(obj.data('url'),function(data)
   {
      obj.data('title', data);
   });
}

$('[data-url]').each(function()
{
   myGet($(this));
});
gBaSoft - stock2000hu


Vissza: “Java, jQuery, Ajax”