Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] .children() - brak pomysłu :/
Nicc0
post 3.02.2015, 15:41:03
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 1
Dołączył: 18.01.2013

Ostrzeżenie: (0%)
-----


Witam forumowiczów.

Zwięźle i na temat... nie mam pojęcia jak użyć metody .children() z jQuery, tak aby szukała "dzieci" od któregoś elementu. Załóżmy, że chciałbym aby zmienił się kolor czcionki od elementu np. 3. Pytanie tylko, jak?

Edit: Inaczej... nie od elementu 3 tylko od ID 03.

Przed:
  1. <ul>
  2. <li id="01">Item 1</li>
  3. <li id="02">Item 2</li>
  4. <li id="03">Item 3</li>
  5. <li id="04">Item 4</li>
  6. <li id="05">Item 4</li>
  7. </ul>

Po:
  1. <ul>
  2. <li id="01">Item 1</li>
  3. <li id="02">Item 2</li>
  4. <li id="03" style="color: red">Item 3</li>
  5. <li id="04" style="color: red">Item 4</li>
  6. <li id="05" style="color: red">Item 4</li>
  7. </ul>

Z góry dzięki za pomoc.

Ten post edytował Nicc0 3.02.2015, 15:43:19
Go to the top of the page
+Quote Post
sowiq
post 3.02.2015, 15:54:14
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. $('#elem_id').nextAll().andSelf().addClass('red');
[JAVASCRIPT] pobierz, plaintext


Zresztą manual jQuery się kłania, bo dokładnie taki sam przypadek jest w nim opisany: http://api.jquery.com/andself/

Ten post edytował sowiq 3.02.2015, 15:55:04
Go to the top of the page
+Quote Post
rad11
post 3.02.2015, 15:55:07
Post #3





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


http://jsfiddle.net/vmusmpno/
Go to the top of the page
+Quote Post
trueblue
post 3.02.2015, 15:56:16
Post #4





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


  1. $("ul li:gt("+($("ul li" ).index("li#03")-1)+")")


W HTML4 id nie może zaczynać się od cyfry.

Ten post edytował trueblue 3.02.2015, 15:56:43


--------------------
Go to the top of the page
+Quote Post
Nicc0
post 6.02.2015, 21:24:35
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 1
Dołączył: 18.01.2013

Ostrzeżenie: (0%)
-----


Witam ponownie. Mam kolejny kłopot :/ Napisałem taki o to kod:

[JAVASCRIPT] pobierz, plaintext
  1. $(function() {
  2. function replaceMessageToLink() {
  3. var message = $(this).children(".message").text();
  4. console.log(message);
  5. var html = findLinkInMessage(message);
  6. console.log(html);
  7. $(this).children(".message").empty().append(html);
  8. a = $("ul.chat-lines li.chat-line:last:not(.admin)").attr("id");
  9. }
  10.  
  11. function findLinkInMessage(c) {
  12. if(c.indexOf('http://') != -1 || c.indexOf('https://') != -1 ) {
  13. var splitResult = c.split(" ");
  14. for(i = 0; i < splitResult.length; i++){
  15. if(splitResult[i].indexOf('jpg') != -1 || splitResult[i].indexOf('png') != -1 || splitResult[i].indexOf('jpeg') != -1 || splitResult[i].indexOf('gif') != -1 ) {
  16. var linkToImage = splitResult[i];
  17. var html = '<img src="' + linkToImage + '">';
  18. return html;
  19. }
  20. }
  21. }
  22. }
  23.  
  24. function replaceLinkToImage() {
  25. if(typeof a === 'undefined') {
  26. $("ul.chat-lines li.chat-line:not(.admin)").each(function() {
  27. replaceMessageToLink();
  28. });
  29. } else {
  30. $("ul.chat-lines li.chat-line#"+a+":not(.admin)").nextAll().each(function() {
  31. replaceMessageToLink();
  32. });
  33. }
  34. }
  35.  
  36. setInterval(replaceLinkToImage, 1000);
  37. });
[JAVASCRIPT] pobierz, plaintext


Problem polega na tym, że w funkcji replaceMessageToLink(); zmienna "message" zwraca "undefined". Wiem, że jest to wina $(this). Tylko nie wiem jak mam to zrobić, aby $(this) zwracało odpowiedni element, który "chwytam" w funkcji replaceLinkToImage(). Znaleźć niestety nic nie mogę. Pewnie dlatego, że nawet nie wiem czego mam szukać... Mam również pytanie, do bardziej doświadczonych użytkowników. Czy kod chociaż w minimalnym stopniu jest sensowny i czy ewentualnie można coś poprawić.

/ref
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 23:14