Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Wybieranie elementu następnego w kolejności
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
starach
Cześć,

Myślę że to co chcę zrobić najlepiej wytłumaczę przez kod.

  1. <script type="text/javascript">
  2. $(document).ready(
  3. function()
  4. {
  5. $("#content table tr.title td a").click(
  6. function($E)
  7. {
  8. $E.preventDefault();
  9. console.log($(this).parent().next())
  10. // Chcę żeby ten kod zaznaczył mi <td>2</td>, ale niestety zaznacza z powrotem link.
  11. // Jakiej metody użyć?
  12. });
  13. });
  14.  
  15. <table border="1" cellpadding="0" cellspacing="0">
  16. <tr class="title">
  17. <td><a href="">1</a></td>
  18. </tr>
  19. <tr>
  20. <td>2</td>
  21. </tr>
Quantum
na oko musisz cofnąć się do <tr> i wtedy dać next() i przez find() wybrać <td>.
Crozin
.parent() przenosi Cię o jeden poziom wyżej w drzewie DOM, czyli do TD. Następnie .next() próbuje dostać się do następnego elementu, ale takiego nie ma (TD jest jednym na tym poziomie). Powinieneś dwa razy skorzystać z .parent().

btw: masz wyjątkowo nieczytelny sposób formatowania kodu.
starach
O rany ale ze mnie ciemniak. Wcześniej bindowałem zdarzenie do komórki tabeli, a nie linka który dodałem później. Sierota ze mnie...

~Crozin: A jak powinno to być sformatowane?
Crozin
Cytat
~Crozin: A jak powinno to być sformatowane?
Niby tak jak Ci pasuje, ale
  1. $(document).ready(
  2. function()
  3. {
  4. $("#content table tr.title td a").click(
  5. function($E)
  6. {
  7. $E.preventDefault();
  8. console.log($(this).parent().next())
  9. // Chcę żeby ten kod zaznaczył mi <td>2</td>, ale niestety zaznacza z powrotem link.
  10. // Jakiej metody użyć?
  11. });
  12. });
  1. $(function() {
  2. $("#content table tr.title td a").click(function(e) {
  3. e.preventDefault();
  4. console.log($(this).parent().next());
  5. // Chcę żeby ten kod zaznaczył mi <td>2</td>, ale niestety zaznacza z powrotem link.
  6. // Jakiej metody użyć?
  7. });
  8. });
  1. $(function()
  2. {
  3. $("#content table tr.title td a").click(function(e)
  4. {
  5. e.preventDefault();
  6. console.log($(this).parent().next());
  7. // Chcę żeby ten kod zaznaczył mi <td>2</td>, ale niestety zaznacza z powrotem link.
  8. // Jakiej metody użyć?
  9. });
  10. });
Widać, który kod wygląda najgorzej.

To tylko taka subiektywna uwaga - pisz jak Ci wygodnie winksmiley.jpg
starach
Twój tongue.gif

Właśnie takiej notacji jak twoja zwyczajnie nie trawię. Jak ktoś zagnieżdża w kodzie od 4 klamerek w górę to przestaje to być jakkolwiek czytelne. Nie wiem gdzie jest początek a gdzie koniec i nawet podświetlanie mi niewiele pomaga. W ten sposób to wystarczy że zerknę i już wszystko jest jasne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.