1 00:00:02,084 --> 00:00:06,101 ახლა კოდში ელემენტების მოპოვების ძალიან ბევრი ხერხი იცი. 2 00:00:06,101 --> 00:00:08,645 და ისინი ძალიან ხშირად გამოგადგება. 3 00:00:08,645 --> 00:00:12,492 მაგრამ კიდევ ერთი უნდა ისწავლო, რეალურად, ყველაზე მაგარი: 4 00:00:12,492 --> 00:00:18,070 ელემენტების მოძებნა CSS სელექტორზე დაყრდნობით. 5 00:00:18,070 --> 00:00:20,384 გახსოვს CSS სელექტორები? 6 00:00:20,384 --> 00:00:24,562 ესე იგი, თეგის სახელით ძებნა, 7 00:00:24,562 --> 00:00:26,170 ID-ით ძებნა, 8 00:00:26,170 --> 00:00:27,518 ან კლასის მიხევით ძებნა. 9 00:00:27,518 --> 00:00:30,027 მაგრამ კიდევ უფრო დახვეწილი სელექტორებიც არსებობს. 10 00:00:30,027 --> 00:00:35,333 მაგალითად, კლების სელექტორი, ატრიბურის, კლასი + ელემენტი... 11 00:00:35,333 --> 00:00:38,547 კარგი იქნებოდა, რომ გაგეხენებინა CSS სელექტორები, 12 00:00:38,547 --> 00:00:40,643 თუ არ გახსოვს. 13 00:00:40,643 --> 00:00:45,642 მაგალითად, მინდა შევუცვალო სტილი მხოლოდ ელემენტებს 14 00:00:45,642 --> 00:00:50,765 კლასიდან "animal/ცხვოელი" და მდებარეობით პარაგრაფის შიგნით. 15 00:00:50,765 --> 00:00:54,606 ჩავწეროთ თეგი 16 00:00:54,606 --> 00:00:57,124 შემდეგ კი ჩავწეროთ p 17 00:00:57,124 --> 00:01:01,532 და გამოვტოვთო ერთი ადგილი, ასე ვაჩვენებთ რომ ვეძებთ პარაგრაფებში 18 00:01:01,532 --> 00:01:06,492 შემდეგ .animal, რომ ვაჩენოთ: ვეძებთ ყველა ელემენტს 19 00:01:06,492 --> 00:01:09,603 კლასიდან "animal" 20 00:01:09,603 --> 00:01:12,671 და... უბრალოდ გამოვყოთ ისინი წითლად. 21 00:01:12,671 --> 00:01:14,130 მშვენიერია. 22 00:01:14,130 --> 00:01:19,665 შემიძლია გამოვიყენო იგივე CSS სელექტორი ელემენტების JavaScrip-ში საპოვნელად 23 00:01:19,665 --> 00:01:24,944 მეთოდით `document.querySelectorAll()` 24 00:01:24,944 --> 00:01:30,323 ახლა მე შევცვლი ამ ხაზს. 25 00:01:30,323 --> 00:01:35,377 CSS სელექტორი უნდა ჩავსვა, როგორც არგუმენტი 26 00:01:35,377 --> 00:01:38,392 როგორც ცალკე ხაზი ბრჭყალებში. 27 00:01:38,392 --> 00:01:42,486 პარაგრაფი ისევ კატების შესახებაა.. 28 00:01:42,486 --> 00:01:45,823 ამ ფუნქციაში ნებისმიერი CSS სელექტორის ჩასმა შეგიძლიათ; 29 00:01:45,823 --> 00:01:48,414 ის დაგიბრუნებთ ელემენტების კოლექციას 30 00:01:48,414 --> 00:01:50,883 და მერე მათი ციკლის შექმნა შეგიძლიათ. 31 00:01:50,883 --> 00:01:53,507 გახსოვს, როგორ ვთქვით მაშინ, 32 00:01:53,507 --> 00:01:57,617 რომ `getElementsByTagName()` აბრუნებს HTML კოლექციას, 33 00:01:57,617 --> 00:01:59,998 რომელიც ჰგავს მასივს? 34 00:01:59,998 --> 00:02:06,710 ეს მეთოდის აბრუნებს `NodeList`-ს, რომელიც ასევე ძალიან ჰგავს მასივს, 35 00:02:06,710 --> 00:02:12,530 იმით, რომ შეგვიძლია გამოვიყენოთ ფრჩხილები, გაზომო სიგრძე და ა.შ. 36 00:02:12,530 --> 00:02:16,282 და თუ NodeList-ს და HTMLCollection-ს შორის სხვაობას დიდად ვერ შეამჩნევთ, 37 00:02:16,282 --> 00:02:20,029 თუ ამ ორ მეთოდს იყენებთ. 38 00:02:20,029 --> 00:02:24,375 მაგრამ შეგიძლია დაძებნო მათ შესახებ მეტი ინფორმაცია, თუ გაინტერესებს. 39 00:02:24,375 --> 00:02:28,924 კიდევ არსებობს მეთოდი, რომელიც დაძებნის CSS სელექტორებში 40 00:02:28,924 --> 00:02:32,782 და დააბრუნებს მხოლოდ ერთ ელემეტს, 41 00:02:32,782 --> 00:02:35,061 თუ შენი CSS სელექტორი მხოლოდ ერთს აბრუნებს 42 00:02:35,061 --> 00:02:37,409 სინამდვილეში, ის ძალიანაც სასარგებლო არ არის 43 00:02:37,409 --> 00:02:40,458 იმიტომ რომ ძირითადად თუ ერთ ელემენტს ეძებ მაშინ ID გაქვს, 44 00:02:40,458 --> 00:02:43,079 მაგრამ მაინც გაჩვენებ, ყოველი შემთხვევისთვის 45 00:02:43,079 --> 00:02:46,310 `getElementById`-ის მაგივრად შემიძლია ვთქვა 46 00:02:46,310 --> 00:02:48,577 `document.querySelector("` 47 00:02:48,577 --> 00:02:53,565 და მერე, იმისთვის, რომ ნამდვილი ძებნა გამოვიდეს და მოგვცეს ID, უბრალოდ დავუმატებ #-ს 48 00:02:53,565 --> 00:02:54,520 აი. 49 00:02:54,520 --> 00:02:57,917 როგორც ხედავ, ეს მართლა ჰგავს `querySelectorAll()`-ს 50 00:02:57,917 --> 00:03:01,547 ოღონდ მხოლოდ ერთ ელემენტს ვირჩევთ, ამიტომ უბრალოდ `querySelector()' გვაქვს 51 00:03:01,547 --> 00:03:06,510 და ვსვამთ მასში იმ CSS სელექტორს, რომლის ერთ ელემტსაც ვეძებთ. 52 00:03:06,510 --> 00:03:10,434 როდის შეიძლება გამოიყენო ეს მეთოდები? 53 00:03:10,434 --> 00:03:13,702 პირველები უფრო ეფექტურია ხოლმე 54 00:03:13,702 --> 00:03:15,734 ამიტომ გირჩევ, ყოველთვის გამოიყენო, როცა კი შეძლებ. 55 00:03:15,734 --> 00:03:19,587 მაგრამ თუ კომპლექსური CSS სელექტორი გჭირდება 56 00:03:19,587 --> 00:03:24,053 და ესენი არ გამოდგება, მაშინ `querySelectorAll()` გამოიყენე. 57 00:03:24,053 --> 00:03:26,109 სცადეთ ამის გაკეთება შემდეგ ამოცანაში. 58 00:03:26,109 --> 00:03:31,273 და მოემზადეთ - ვებ-გვერდზე მუშაობის კიდევ რამდენიმე მეთოდს უნდა გაეცნოთ.