Grupa
MagazynyInternetowe.pl
Jak już zostało powiedziane, selektor jQuery obejmuje swoim działaniem wszystkie wybrane elementy. Jeśli użyjemy selektora li:
1. $(document).ready(function(){ 2. $('li').css('color', 'blue'); 3. }); 4. ---------------------------- 5. <ul> 6. <li>one</li> 7. <li>two</li> 8. <li>three</li> 9. <li>four</li> 10. </ul>
to przetwarzaniu będą podlegały wszystkie elementy listy. Każdy z nich stanie się niebieski. Nie wpisujemy ręcznie żadnej iteracji (np. pętli for). Jest ona wykonywana podobnie jak w CSS automatycznie dla wszystkich elementów pasujących do selektora.
Większość metod jQuery zwraca w wyniku obiekt jQuery. Pozwala to na tworzenie kaskadowych wywołań metod:
1. $(document).ready(function(){ 2. $('li').css('color', 'yellow').append('- read more').css('background', 'black'); 3. }); 4. ---------------------------- 5. <ul> 6. <li>one</li> 7. <li>two</li> 8. <li>three</li> 9. <li>four</li> 10. </ul>
Powyższy kod jQuery możemy równoważnie zapisać jako trzy osobne wywołania:
1. $('li').css('color', 'yellow'); 2. $('li').append(' - read more'); 3. $('li').css('background', 'black');
Dostęp do atrybutów zapewnia metoda attr(), której parametrem jest nazwa atrybutu HTML:
1. $(document).ready(function(){ 2. $('input').focus(); 3. $('input').keyup(function(){ 4. $('div').html($('input').attr('value')); 5. }); 6. }); 7. ---------------------------- 8. <form action="#" method="post"> 9. <input type="text" name="imie" value="" /> 10. </form> 11. <div></div>
Wywołanie:
$('input').attr('value')
odczytuje atrybut value elementu input:
<input name="" value="" />
Pierwsza instrukcja:
$('input').focus();
uruchamia zdarzenie onfocus dla elementu input. Dzięki niej bezpośrednio po otworzeniu dokumentu w przeglądarce kursor będzie znajdował się w polu edycyjnym formularza.
Do załadowania zewnętrznego pliku służy load():
1. $(document).ready(function(){ 2. $('#content').load('lorem.html'); 3. }); 4. ---------------------------- 5. <div id="content"></div>
Działa ona w oparciu o obiekt XMLHttpRequest. Dokument, którego adres URL jest podany jako parametr jest pobierany asynchronicznie w tle (Ajax).
Powiązane publikacje
Komentarzy: 5
Mała sugestia dotycząca tego menu ajaxowego:
zamiast przygotowywać 4 pliki:
1. abba.html
2. fragment-abba.html
3. ac_dc.html
4. fragment-ac_dc.html
a podczas ładowania treści dołączać do adresu słowo fragment:
3. $('#content').load(
4. 'fragment-' + $(this).attr('href')
5. );
wystarczy mieć 2 strony(abba.html, ac_dc.html), w których żądana treść będzie w odpowiednim znaczniku (np. div z jakimś id, np. "tresc").
Wtedy w funkcji load można podać jaki znacznik ma być odczytany(nie trzeba ładować całej strony, można fragmenty):
3. $('#content').load(
4. $(this).attr('href')+" div#tresc"
5. );
Swietny tutorialik, po przeczytaniu od razu zabralem sie za pisanie kodu, lecz natknelem sie na dosc ciekawy problem i nie mam pojecia dlaczego to tak dziala, a wlasciwie nie dziala
mamy plik d.html
<html>
<head>
<title>Przykład 1-1</title>
<script type="text/javascript" src="./JQ.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#111 .b').click(function(){
$('#111').load('z.html');
});
$('#222 .c').click(function(){
alert('cos tam');
});
});
</script>
</head>
<body>
<p id="111">
<a class="b">klasa b</a>
</p>
<p id="222">
<a class="c">klasa c</a>
</p>
</body>
</html>
oraz plik z.html
<p id="222"><a class="c">klasa c</a></p>
Dlaczego po wczytaniu z.html do <p id="1111"> , wpisany tag nie jest obslugiwany przez jQuery?
W pliku glownym jest identyczny tag jak z pliku z.html i jest on caly czas obslugiwany przez jQuery.
Nie wiedziałem jak się skontaktować, dlatego piszę tutaj... Panie Włodzimierzu, informuję że od kilku tygodni na gajdaw.pl nie działają css-y i obrazki... URL-e z kodu strony zwracają Access Forbidden + 404.
Serdecznie pozdrawiam i dziękuję za pańskie świetne artykuły.
Artykuły tego autora:
Wykorzystanie technologii AJAX niesie wiele korzyści. Oferuje on znacznie więcej niż zwijane menu i ładowane na bieżąco zdjęcia. Bardzo ważne jest asynchroniczne przesyłanie informacji i nowe sposoby w podejściu do usług online.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: