Autor Zpráva
sh00ter
Profil
Zdravím,
chci se zeptat jestli je možný když vím hodnotu např. $(".gallery img")[1].src tak jestli je možné zjistit jaký má tato hodnota index?

Lepší vysvětlení bude
$(".gallery img")[1].src má hodnotu org_m5.jpg, já znám to org_m5.jpg a potřebuju získat klíč v arrayi tzn. 1.
Díky
fajzen
Profil
Dalo by sa prechádzať to pole, kontrolovať src a ak sa nájde hľadané, uložiť si index. Nejak takto:
var index;

$('.gallery img').each(function(i) {
  if($(this).attr('src') == 'org_m5.jpg') {
    index = i;
    return false; // aby sa ukončilo prechádzanie poľa
  }
});

neviem, na čo to potrebuješ, ale možno by bolo ľahšie vybrať hneď iba ten konkrétny obrázok:
$(".gallery img[src='org_m5.jpg']")
sh00ter
Profil
no ja pak potrebuju s tim indexem dal pracovat, abych vedel kterej obrazek je nasledujici a predchazejici
_es
Profil
sh00ter:
abych vedel kterej obrazek je nasledujici a predchazejici
Načo na to používaš jQuery?
Použi kolekciu document.images a môžeš prechádzať obrázkami zaradom tak, ako sú v kóde.
sh00ter
Profil
kdyz na to tak koukam, tak je to principem to samy jako psal fajzen navic jQuery je vhodnejsi protoze si tam muzu bez problemu urcit kde se maj ty obrazky hledat...
Chamurappi
Profil
Reaguji na sh00tera:
dal pracovat, abych vedel kterej obrazek je nasledujici a predchazejici
Tak to naprogramuj nějak rozumně, ne? Nevím sice, o co přesně se snažíš, ale připadá mi to dost triviální. Dohledávání indexu nepotřebuješ.

protoze si tam muzu bez problemu urcit kde se maj ty obrazky hledat
Na to také nepotřebuješ jQuery.
var obrazky = document.getElementById("ídéčko").getElementsByTagName("img");
Určování podle třídy by bylo složitější a také pomalejší (s frameworkem i bez).
sh00ter
Profil
zamejslim to tak ze budu pricitat a odecitat 1 k indexu
Chamurappi
Profil
Reaguji na sh00tera:
To jsi mi jen zopakoval to, na co už jsem reagoval.
sh00ter
Profil
já potřebuju ten skript použít na víc elementů, proto to dělám přes třídu a ne přes id.
Chamurappi
Profil
Reaguji na sh00tera:
Hm. Klidně to dělej přes třídu. Ale dohledávání indexu nepotřebuješ.
sh00ter
Profil
tak konkretne, delam to na galerii, po kliknuti pomoci jquery zobrazim velkej nahled, a tohle potrebuju na zjištění kterej obrázek je zrovna zobrazenej abych věděl k čemu mám přičítat
Greeg
Profil
$('.gallery img').index($('.gallery img[src=obrazok.jpg]'));

vrati index prvku ".gallery img" s atributom src=obrazok.jpg v poli poloziek najdenych selectorom ".gallery img"
akurat si nie som isty ci mam spravne vyescapovanu hodnotu v src
Greeg
Profil
a ked uz pouzivas jquery, mohol by si k atributom pristupovat cistejsie
$(".gallery img").eq(1).attr("src");
Chamurappi
Profil
Reaguji na sh00tera:
tohle potrebuju na zjištění kterej obrázek je zrovna zobrazenej abych věděl k čemu mám přičítat
Nepotřebuješ. To zjištění můžeš udělat dřív, v době, kdy máš všechny indexy pohromadě.


Reaguji na Greega:
Co je na tom čistšího?
Greeg
Profil
Chamurappi:
OT: ok, my vieme ze selector vracia intuitivne pole najdenych prvkov, ale zajtra vyjde nove jquery a vsetko bud inak. koder, ktory priamo saha do cudzej struktury si iba mysli, ze vie co robi. preto je programatosky cistejsie pouzivat pripravene metody, ktore navyse osetruju niektore stavy, ako napr eq() osetruje index pola mimo rozsah.
_es
Profil
Greeg:
selector vracia intuitivne pole najdenych prvkov, ale zajtra vyjde nove jquery a vsetko bud inak
Jquery nepoznám, no ak je v jeho dokumentácii, že má vracať pole nájdených prvkov, tak ho bude asi vracať aj novšia verzia.

eq() osetruje index pola mimo rozsah
V poli je ten rozsah ošetrený "automaticky", prvok mimo rozsah má hodnotu undefined.
ah01
Profil
Greeg:
Používat $("...")[x] není nic „nelegálního“. Uvádí to sama dokumentace, a to jak ta stará, tak nová (toho jQuery co vyjde zítra ;)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0