Autor Zpráva
Jack06
Profil
Dobrý den, chtěl bych se zeptat, zda a jak by se dal řešit následující problém, který nejdříve naznačím kódem:
<div id="corner">
    <div class="potomek" id="pot1"><span id="cat1">Zobrazit náhled</span> ............ další obsah ........... </div>
    <div class="potomek" id="pot2><span id="cat2">Zobrazit náhled </span> ............ další obsah ........... </div>
    <div class="potomek" id="pot3><span id="cat3">Zobrazit náhled </span> ............ další obsah ........... </div>
    <div class="potomek" id="pot4><span id="cat4">Zobrazit náhled </span> ............ další obsah ........... </div>
    <div class="potomek" id="pot5><span id="cat5">Zobrazit náhled </span> ............ další obsah ........... </div>
    <div class="potomek" id="pot6><span id="cat6">Zobrazit náhled </span> ............ další obsah ........... </div>
    .... další divy
</div>


obsah divu class potomek znározňuje názvy galerií a základní info+tlačítko k náhledu galerie ( Zobrazit náhled )
Jde mi o to, když kliknu na daný span tak se mi ajaxem naloaduje kód ( stejně široký div jako je div class potomek ) s několika obrázky, a chtěl bych aby se přidal za daný div ze kterého jsem na to klikl..

Takto bych to nejspíše mohl appendovat za div s daným ID, šlo by to i bez zápisu id u každého divu? Díky.
Leo
Profil
"Takto bych to nejspíše mohl appendovat za div s daným ID, šlo by to i bez zápisu id u každého divu? Díky."

V objektu event, který se vytváří při události je informace o tom, na kterém elementu k ní došlo. Pak stačí vyhledat nextSibling a pred nej vlozit (insertBefore na parentNode) to, co chcete. Drobný problém je s textovými uzly mezi divy, které vytvoří např. Firefox (IE ne). Leo
Jack06
Profil
Leo:
aha a když bych to tedy appendoval podle id toho divu, tak mi to nebude dělat neplechu?
Leo
Profil
Appendovat za nějaký div nemůžete, jedině, že by shodou okolností byl posledním potomkem nadřazeného elementu (ve vašem případě divu corner). Můžete použít insertBefore, což není vkládání za, ale před něco. Na ty textové uzly zapomeňte, neměly by vadit. Ještě by šlo použít replaceChild. Leo

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: