Dobry wieczór.
Mam pewien tekst przeplatany obrazkami, który chcę podzielić na fragmenty i wyświetlać odpowiedni fragment w jakimś pojemniku np
- Rejestracja:prawie 14 lat
- Ostatnio:ponad 12 lat
- Postów:36

- Rejestracja:ponad 18 lat
- Ostatnio:4 dni
- Lokalizacja:Rzeszów
przechowuj go sobie jak chcesz - bylebyś umiał odczytać po stronie javascriptu. no i tak, ajaxem.
nie bardzo rozumiem pytanie. masz problem z wybraniem n-tego diva z tekstu po stronie php/cokolwiek czy z czym konkretnie masz problem. jezeli ostatnie zdanie to wszystko o co pytasz - to odpowiedź już masz :)
- Rejestracja:prawie 14 lat
- Ostatnio:ponad 12 lat
- Postów:36
Czyli jednak ajax...
Ponieważ na razie niewiele przeczytałem o ajax, nie wiem czy mogę w przy użyciu tego zrobić coś takiego:
...
<div id = "container">
<!-- treść str1 -->
<div class = "thumbnail>
<img>jakies img</img>
<span>jakis podpis</span>
</div>
<p>tu wiecej tekstu</p>
</div>
...
mam jakiś plik xml:
<history>
<page nr = "1">
<content>
tutaj treść razem ze znacznikami html, która będzie wczytana i pojawi się wewnątrz div "containter"
</content>
</page>
<page nr = "2">
itd...
</history>
koncepcja może być czy nie bardzo ?
- Rejestracja:prawie 14 lat
- Ostatnio:ponad 12 lat
- Postów:36
Przepraszam jeśli pytanie jest nierozsądne, ale czy w związku z tym oznacza to, że ajax ma zdolności "kodotwórcze" i można zastąpić nim np. elementy php?
- Rejestracja:prawie 14 lat
- Ostatnio:ponad 12 lat
- Postów:36
A więc prawie zrobiłem to co chciałem (albo mi się tylko wydaje) bazując na różnych źródłach, ale nie działa to jak należy. Poniżej fragment:
<script type = "text/javascript">
//obecna strona
var curr_element = document.getElementById( "1" );
//wysłanie zapytania
function Establish_connection( page_nr, page_id )
{
var element = document.getElementById( page_id );
if (element != curr_element)
{
curr_element = element;
if (window.XMLHttpRequest)
{
http_request = new XMLHttpRequest();
http_request.overrideMimeType( "text/xml" );
}
http_request.open( "GET", "historia.xml", true );
http_request.onreadystatechange = function(){ Load_content( http_request, page_nr ); };
http_request.send( null );
}
}
//pobranie danych
function Load_content( http_request, page_nr )
{
var element = document.getElementById( "containter" );
switch (http_request.readyState)
{
case 0:
element.innerHTML = "Wystąpił podczas pobierania danych.";
break;
case 1:
element.innerHTML = "Pobieranie danych ...";
break;
case 2:
break;
case 3:
break;
case 4:
switch (http_request.status)
{
case 200:
//xml
var xml_data = http_request.responseXML;
var page = xml_data.documentElement.getElementsByTagName("page")[page_nr - 1];
element.innerHTML = page.innerHTML; //tu jest problem
break;
default:
alert ("nie ok");
}
break;
}
}
</script>
metoda page.textContent pobiera sam tekst resztę ignorując, czyli działa prawidłowo
metoda page.nodeValue nie pokazuje nic,
metoda page.innerHTML zwraca undefined
Natomiast ja chciałbym, żeby wyświetlało wszysko czyli obrazki też. Czy to właściwa droga postępowania?

- Rejestracja:prawie 14 lat
- Ostatnio:ponad 12 lat
- Postów:36
Ok, obeszło się bez jquery. Parser nie chciał w żaden sposób odczytać całej struktury html i wszystko interpretował jako tagi xml (zupełnie o tym zapomniałem), a na końcu zostawał tylko czysty tekst. Użycie załatwiło sprawę, ale nie wiem czy to odpowiednie rozw. Można to zrobić poprawniej?
- Rejestracja:ponad 15 lat
- Ostatnio:około 12 lat
jQuery byłoby tak naprawdę tym płyciej rozumiane, chyba że ktoś ma spore doświadczenie z inżynierii oprogramowania, języków funkcyjnych itp., a po prostu nie zna XMLHttpRequest (XHR). Zwykle jednak za JavaScript zabierają się ludzie, którzy nie mają pojęcia co to np. promysy / obiekty Deferred, z których obsługa ajaxowa w jQuery korzysta często-gęsto. XHR jest dużo bardziej prymitywne od zestawu XHR+jQuery.
Natomiast najzwyczajniej w świecie złym wyborem jest użycie w tym wypadku niskopoziomowego XHR-a, gdy i tak ma się dołączone jQuery, które już samo w sobie opakowuje XHR. To marnotrawstwo kodu (wagi strony), zaprzeczenie zasadzie DRY i wprowadzenie kolejnego elementu, który może zawieźć :(
