Hogyan lehet HTML fájl div tartalmát cserélni egy másik HTML fájl div tartalmával?
$('#content').load(($(this).attr('href')+' #content'));
A fenti kód egy linkre kattintva tölti át a hivatkozásban szereplő ugyanúgy content id-jű div-et.
Ez csak gyerekként adja hozzá a másik html fájl contenet div-jét, és nem cseréli le.
Szeretném felülírni a content div-et a másik html fájl content div-jével.
És ha a másik htmlbe nem teszel content divet, hanem csak a tartalmat? Tehát akkor a jelenlegi content tartalma felülíródna azzal a tartalommal (nem az egész div, csak a belseje), ez az egyszerűbb és szebb megoldás.
Ha nem lehet változtatni a betöltendő adat szerkezetén, akkor ajax-al lekérheted (Nem a load-os változattal), csinálsz egy parseHTML-t és az új content div-nek a belsejét teszed csak be a régibe.
A load-os megoldást eredetileg a diszkrét javascript használatára készítem. Ha nem engedélyezett a javascript a másik html fájlt tölti be és nem a javascript segítségével tölti át annak tartalmát.
De megoldom úgy hogy beleteszem a content-et egy formázatlan div-be, és nem fog látszódni a különbség.
Nem a legigazibb megoldás de ez van.
A legigazibb megoldás az lenne, ha szerver oldalon lenne lehetőség csak annak a DIV-nek a tartalmát lekérni, és akkor szépen be tudnád rakni az oldaladba. Ugyanúgy lehetne fallback JS nélküli böngészőkre, amikor teljes oldalt tölt be. (Habár igazából nincs nagyon olyan ember, akinek nincs JS a böngészőjében.)
Ennek így, hogy ugyanazt a teljes dokumentumot tölti be XMLHttpRequest-tel, amin ugyanúgy átmegy a HTML parser, hogy abból kiszedjen egy DIV tartalmat, nem igazán látom értelmét.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!