Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Jak znaleźć element a potem jego parent?
phpamator
post 1.09.2017, 21:09:01
Post #1





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

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


Pytanie do specjalistów od jQuery.
Chciałbym posegregować elementy według pewnej kolejności którą że tak powiem mam w tablicy.
Wybierając kolejno z tablicy identyfikator chę wyszukać element posiadający takie id bądź nazwę i przenieść we wskazane miejsce.
Brzmi może dzwnie ale ... cóż tak chciałbym zrobić.
Samo znajdowanie elementu to nie problem, problem jak teraz wskazać "rodzica" tego elementu i go wyciągnąć wraz z całą zawartością (.html()).

Przykład:
  1. <dl class="filter-block">
  2. <!-- blok do przeniesienia pogrubiony o ile zgadza się string .text() ze span class="filter-title" -->
  3. <div class="layered-navigation option-block">
  4. <div childblock_id="manufacturer" class="odd option-block-head toggle-block" style="cursor: pointer;">
  5. <!-- element wyszukiwany w/g klasy 'filter-title' .text() -->
  6. <span class="filter-title">Brands</span>
  7. <span class="open-close">+</span>
  8. </div>
  9. </div>
  10.  
  11. <div class="layered-navigation option-block">
  12. <div childblock_id="price" class="odd option-block-head toggle-block" style="cursor: pointer;">
  13. <span class="filter-title">Price</span>
  14. <span class="open-close">+</span>
  15. </div>
  16. </div>
  17. </dl>

czyli jeśli w tablicy znajduje się określony string wybierz TEN element/blok $('div .layered-navigation,.option-block').html()
tylko nie wiem jak zrobić z niego 'this' jeśli znajduje się w nim lub jego dziecku wskazany string.
mam nadzieję, że się jasno wyraziłem wink.gif

W międzyczasie znalazłem to: https://api.jquery.com/child-selector/ ...
ale nie do końca czaję ...

pozdrawiam
amator

Ten post edytował phpamator 1.09.2017, 21:16:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpamator
post 4.09.2017, 16:08:19
Post #2





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

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


Działa,
kod wygląda tak:

[JAVASCRIPT] pobierz, plaintext
  1. jQuery(document).ready(function(){
  2. //Variables & arrays
  3. var i = 0;
  4.  
  5. var block ='';
  6.  
  7. var blockName = '';
  8.  
  9. var newOrder = ["Price","Brands","Number of Cameras Supported","Screen Size","Split Screen","Touch Screen","Pan & Tilt","Zoom","Room Temp","Lullabies","Wi-Fi","Nightvision","Light Projector","Two-Way Talk","Temperature Display","Recordable"];
  10.  
  11. //var newOrder = [[1,'Brands'],[2,'Price'],[3,'Number of Cameras Supported'],[4,'Screen Size'],[5,'Split Screen'],[6,'Touch Screen'],[7,'Pan & Tilt'],[8,'Zoom'],[9,'Room Temp'],[10,'Lullabies'],[11,'Wi-Fi'],[12,'Nightvision'],[13,'Light Projector'],[14,'Two-Way Talk'],[15,'Temperature Display'],[16,'Recordable'],[17,'Outdoor Range (Metres)']];
  12. //Functions &
  13. jQuery.each(newOrder,function(i,blockName){
  14.  
  15. block = jQuery('span.filter-title:contains("'+blockName+'")');
  16.  
  17. console.log(blockName, block.length);
  18.  
  19. if (block.length>0){
  20.  
  21. var blockParent=block.parent().parent();
  22.  
  23. var htmlParent=blockParent.html();
  24.  
  25. blockParent.remove();
  26.  
  27. console.log(blockName+ ' moved')
  28.  
  29. jQuery('#pafka').append(htmlParent);
  30.  
  31. }else{
  32.  
  33. console.log(blockName+ ' not found');
  34.  
  35. }
  36.  
  37. })
  38.  
  39. })
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post

Posty w temacie
- phpamator   [JavaScript]Jak znaleźć element a potem jego parent?   1.09.2017, 21:09:01
- - trueblue   Chcesz wybrać elementy, których dzieci mają określ...   1.09.2017, 21:22:22
- - phpamator   Dziecko dziecka zawiera tekst i po tym tekście roz...   1.09.2017, 21:34:24
- - trueblue   Skoro dzieci Ciebie nie interesują, to sprawdzałby...   1.09.2017, 21:40:26
- - phpamator   Nie wiem jak "sprawdzić innerHtml rodzica pod...   1.09.2017, 21:59:06
- - trueblue   Nie rodzica, innerText rodzica.   1.09.2017, 22:01:44
- - phpamator   wymyśliłem tak: [JAVASCRIPT] pobierz, plaintext va...   1.09.2017, 23:00:14
- - trueblue   Kodspan.filter-title:contains('"+b...   2.09.2017, 07:57:40
- - phpamator   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhh...   2.09.2017, 19:32:49
- - trueblue   A ja Ci powiem, że działa zarówno tak jak podałeś,...   2.09.2017, 20:04:35
- - Pyton_000   albo `.closest('div.layered-navigation.opt...   2.09.2017, 20:07:36
- - phpamator   Zdecydowanie nie działało ale nie będę się sprzecz...   2.09.2017, 20:53:29
- - trueblue   Nie dodałem również nawiasów, jQuery, itd. Bez prz...   2.09.2017, 21:04:19
- - phpamator   Działa, działa ale ..... coś nie do końca jak ocze...   4.09.2017, 14:22:28
- - trueblue   Uprościłbym pętlę skoro korzystasz z each. [HTML]...   4.09.2017, 14:33:58
- - Pyton_000   i `block.lenght > 0` bo zdaje się że jQ...   4.09.2017, 14:49:23
- - phpamator   Cytat(trueblue @ 4.09.2017, 14:33:58 ...   4.09.2017, 15:03:40
- - trueblue   Indeksy swoją drogą. Wtedy blockName jest dostępny...   4.09.2017, 15:08:21
- - phpamator   Zmodyfikowałem i faktycznie, lepiej działa i widzę...   4.09.2017, 15:18:32
- - trueblue   A nie prościej by było napisać, co nadal nie dział...   4.09.2017, 15:22:13
- - phpamator   No może Po dodaniu block.lenght>0 skrypt przes...   4.09.2017, 15:23:58
- - trueblue   [HTML] pobierz, plaintext block = jQuery('spa...   4.09.2017, 15:29:37
- - phpamator   Aaaaaa rozumiem ..... jakby trochę przy okazji u...   4.09.2017, 15:38:20
- - Pyton_000   co to znaczy że przestaje działać. Co wywala konso...   4.09.2017, 15:43:16
- - phpamator   No własnie wywala błąd "blockParent()" n...   4.09.2017, 15:44:45
- - Pyton_000   daj przed ifem console.log(blockName, block.leng...   4.09.2017, 15:51:57
- - trueblue   Zgadza się: [HTML] pobierz, plaintext blockParent....   4.09.2017, 15:52:35
- - phpamator   teraz jest ok, wyświetla nazwe i 1 albo jeśli nie ...   4.09.2017, 16:04:47
- - Pyton_000   to co działa czy nie działa? Pokaż ostatecznie kod...   4.09.2017, 16:07:08
- - phpamator   Działa, kod wygląda tak: [JAVASCRIPT] pobierz, pl...   4.09.2017, 16:08:19


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: 14.08.2025 - 16:06