Autor Zpráva
alanik
Profil *
DObry den, s jquery zacinam a rad by som vedel ako vybrat nejaky element napr div s nejakym urcitym ID...samozrejme id mam zistene cez attr("id")... a ja by som potreboval nie ako $("div").attr("id = 15")

lenze ako nieco take spravit? vopred dakujem o odpoved..
1Pupik1989
Profil
$("div#15") //vrátí html element s id 15
$("#15") //totéž
pcmanik
Profil
alanik:
Ked zacinas s jQuery, studuj dokumentaciu, najdi si cas a prejdi vsetky sekcie.
Chamurappi
Profil
Reaguji na alanika:
samozrejme id mam zistene cez attr("id")
Pokud ho zjišťuješ, k čemu potřebuješ podle daného id zase hledat? Element, který najdeš, je ten, z něhož jsi id zjistil.


Reaguji na 1Pupika1989:
//totéž
A rychlejší.
1Pupik1989
Profil
Já nestudoval JQuery, ale myslel jsem, že JQuery to parsuje pouze na #15, takže pokaždé vybere to samé. Rychlost jsem neřešil, připadalo mě to jako ekvivalent.
alanik
Profil *
Tak ako hvoroim zacinam a ukazem vam co by som potreboval... mam takyto html kod:
<div id="mother">  
    
    <div class="block-item">uvod</div>
    <div class="block-item">kontakt</div>
    <div class="block-item">dalsia</div>
    <div class="block-item">paf</div>

</div>

No a ako vyberiem napriklad ten treti div block-item? Dakujem
Suta
Profil
alanik:
ako vyberiem napriklad ten treti div block-item?

Výše uvedený příklad (kdy neznáš konkrétní id elementu) vyřešíš třeba takto:

$("div.block-item").eq(3);

nebo (avšak podstatně rychlejší)
$("#mother").find("div.block-item").eq(3);

Nejlepší by však bylo pojmenovat i vnitřní prvky pomocí id, pak budeš mít přístup ke konkrétnímu elementu přímo.
pcmanik
Profil
Suta:
Najrychlejsia moznost je tato:
$("#mother.block-item").eq(3);
Chamurappi
Profil
Reaguji na pcmanika:
Ta ovšem hledá (a nenachází) elementy, které mají zároveň id="mother" a zároveň class="block-item".


Reaguji na 1Pupika1989:
myslel jsem, že JQuery to parsuje pouze na #15, takže pokaždé vybere to samé
Když pátráš po div#15, tak hledá element s id="15" a pak ještě dodatečně kontroluje, jestli je to <div>.
(Mimochodem, v CSS by selektor s takhle zapsanou patnáctkou pravděpodobně nechodil.)
pcmanik
Profil
Chamurappi:
Moja chyba, ma tam byt medzera $("#mother .block-item").eq(3);
Razom je to najpomalsi kod, ospravedlnujem sa za chybny post.
Staci ked selektor upravime takto a zase je najrychlejsi.
$(".block-item", "#mother").eq(3);

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