konto usunięte

Temat: jquery - znalezienie zagnieżdżonego potomka

Mam do dyspozycji wydarzenie, które mam obsługiwać - event.

Mam element którego wydarzenie dotyczy $(event.target).

Moge znaleźć jego rodzica, który jest divem w określonej klasie

$(event.target).parents("div.klasa")

I teraz wśród potomków tego rodzica, ale nie bezpośrednich, chce znaleźć innego diva, którego id nie znam i nie moge znać

Mogę to zrobić $(event.target).parents("div.klasa").children().children()...children("warunke który mnie interesuje") jeśli wiem jak głęboko zagnieżdżony jest szukany potomek. Na szczęście wiem. Ale jak go ładniej szukać, nawet jeśli nie zna się jego zagnieżdzęnia?

pozdrawiam,

Piotr Misiurek
Blog - jquery & rubyonrails
Adam W.

Adam W. senior php
developer, Symfony

Temat: jquery - znalezienie zagnieżdżonego potomka

Piotr Misiurek:
Mam do dyspozycji wydarzenie, które mam obsługiwać - event.

Mam element którego wydarzenie dotyczy $(event.target).

Moge znaleźć jego rodzica, który jest divem w określonej klasie

$(event.target).parents("div.klasa")

I teraz wśród potomków tego rodzica, ale nie bezpośrednich, chce znaleźć innego diva, którego id nie znam i nie moge znać

Mogę to zrobić $(event.target).parents("div.klasa").children().children()...children("warunke który mnie interesuje") jeśli wiem jak głęboko zagnieżdżony jest szukany potomek. Na szczęście wiem. Ale jak go ładniej szukać, nawet jeśli nie zna się jego zagnieżdzęnia?

pozdrawiam,

Piotr Misiurek
Blog - jquery & rubyonrails

strzelam: find ?

konto usunięte

Temat: jquery - znalezienie zagnieżdżonego potomka

Piotr Misiurek:
I teraz wśród potomków tego rodzica, ale nie bezpośrednich, chce znaleźć innego diva, którego id nie znam i nie moge znać
To po czym chcesz go znaleźć? W jaki sposób odwołać? Metoda children daje możliwość stosowania wyrażeń regularnych, tylko musisz wiedzieć czego szukasz (niekoniecznie ID).

konto usunięte

Temat: jquery - znalezienie zagnieżdżonego potomka

Kamil Brenk:
Piotr Misiurek:
I teraz wśród potomków tego rodzica, ale nie bezpośrednich, chce znaleźć innego diva, którego id nie znam i nie moge znać
To po czym chcesz go znaleźć? W jaki sposób odwołać? Metoda children daje możliwość stosowania wyrażeń regularnych, tylko musisz wiedzieć czego szukasz (niekoniecznie ID).

Chce go znaleźć po tym, że jednym z jego rodziców jest również rodzicem elementu, którey wywołuje wydarzenia oraz po tym, że znam jego klase i to czy jest obecnie wyświetlany. Jednak te dwa ostatnie warunki będę spełniane przez kilka elementów, dlatego idę przez tego wspólnego rodzica i jego dzieci. Sam warunek nie jest problemem, chodzi mi o to, jak mieć dostęp od razu do wszystkich, również zagnieżdżonych potomków elementu, bo przez children() mam tylko do bezpośrednich

@Adam: dobry strzał. Jeszcze mi dostrzel na jakim elemencie mam go użyć? Ewentualnie jaki warunek mam mu napisać, jak mam sytuacje taką jak wyżej przedstawioną. Jak na moje oko nie da się tego zrobić pojedynczym selectorem, dlatego kombinuje w ten sposób

pozdrawiam,

Piotr Misiurek
blog - rubyonrails & jquery
Marcin Witek

Marcin Witek isido.pl ułatwia
pracę - polski sytem
zarządzania
projekt...

Temat: jquery - znalezienie zagnieżdżonego potomka

tak na szybko z pamięci, o ile dobrze zrozumiałem problem... to nie zadziała po prostu

$("div.rodzic div.szukanedziecko:visible") ?

Selektor "ancestor descendant" znajduje elementy na wszystkich poziomach zagnieżdżenia- czy samo to nie załatwia problemu?Marcin Witek edytował(a) ten post dnia 28.07.09 o godzinie 20:15
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: jquery - znalezienie zagnieżdżonego potomka

Piotr Misiurek:
Mogę to zrobić $(event.target).parents("div.klasa").children().children()...children("warunke który mnie interesuje") jeśli wiem jak głęboko zagnieżdżony jest szukany potomek. Na szczęście wiem. Ale jak go ładniej szukać, nawet jeśli nie zna się jego zagnieżdzęnia?


$(event.target).parents('div.klasa').find('#jakikolwiek .selector div')

konto usunięte

Temat: jquery - znalezienie zagnieżdżonego potomka

Cały problem polegał na tym, ze nie znałem id owego rodzica, w związku z czym błędnie uważałem, że nie mogę go użyć w selektorze. Dzięki Waszej pomocy wyszłem z opresji następującym rozwiązaniem:


$("div#" + $(event.target).parents("div.box").attr("id") + " div.inner_box_content_space:visible")


Dzięki wszystki za pomoc i poświęcony czas

Następna dyskusja:

jQuery czy Prototype




Wyślij zaproszenie do