Return to Video

ელემენტების ნულიდან შექმნა (ვიდეო ვერსია)

  • 0:01 - 0:07
    აქამდე ძალიან ბევრ უკვე არსებულ
    ელემენტს ვცვლიდით გვერდზე.
  • 0:07 - 0:10
    მაგრამ როგორ უნდა დავუმატოთ გვერდს
    ახალი ელემენტები?
  • 0:10 - 0:15
    ამის გაკეთება შეგვიძლია 'innerHTML'-ით
    HTML-ს თეგების წერით
  • 0:15 - 0:19
    სხვადასხვა ხაზებში.
  • 0:19 - 0:22
    ამან შეიძლება ცოტა არიოს სიტუაცია,
  • 0:22 - 0:26
    განსაკუთრებით თუ ბევრი თეგის დაწერა გინდა,
    სხვადასხვა ატრიბუტებით, სტილებით და კლასებით.
  • 0:26 - 0:31
    ამითომ, შეგვიძლია
  • 0:31 - 0:35
    ახალი ელემენტები ნულიდან შევქმნათ
    და შემდეგ დავუმატოთ ისინი გვერდს.
  • 0:35 - 0:41
    დავუშვათ, ამ გვერდზე კატის სურათის
    დამატება გვინდა.
  • 0:41 - 0:44
    იმიტომ რომ გვგონია, რომ ჯერ კიდევ
    საკმარისად ბევრი არ არის.
  • 0:44 - 0:49
    პირველ რიგში ახალი ელემენტი
    უნდა შევქმნათ, ხომ სწორია?
  • 0:49 - 0:51
    სწორია.
  • 0:51 - 0:56
    დავიწყოთ ელემენტის შესანახი ცვლადის
    შექმნით. დავარქვათ მას catEI
  • 0:56 - 1:01
    შემდეგ უნდა გამოვიყენოთ
    `document.createElement`,
  • 1:01 - 1:07
    და ჩავსვათ თეგის სახელი, რომელსაც ვქმნით
    ამ შემთხვევაში img.
  • 1:07 - 1:12
    ახლა წარმოიდგინე, რომ ბრაუზერმა
    შექმნა სურათის თეგი
  • 1:12 - 1:15
    და ახლა ეს სურათის თეგი სადღაც სივრცეში
    ტივტივებს
  • 1:15 - 1:19
    ამიტომ ახლა უნდა მივანიჭოთ მას წყარო
  • 1:19 - 1:23
    catEl.src =
  • 1:23 - 1:29
    და უბრალოდ ჩავსვათ წყარო აქედან
  • 1:29 - 1:35
    და... ჰო, უნდა დავუმატოთ alt, რომ
    სურათი უფრო ადვილად მისაწვდომი იყოს
  • 1:35 - 1:42
    alt თეგები ყოველთვის უნდა გვქონდეს სურათებზე
  • 1:42 - 1:47
    ახლა ამ თეგს, რომელიც ჩვენ შევქმენით
  • 1:47 - 1:58
    აქვს src და ასევე alt თეგები
    "Photo of cute cat/საყვარელი კათის სურათი"
  • 1:58 - 2:05
    ოქეი, ეს გავაკეთეთ JavaScript-ით.
  • 2:05 - 2:09
    თუმცა თეგი ჯერ კიდევ ტივიტვებს
    სივრცეში,
  • 2:09 - 2:12
    იმიტომ რომ არ გვითქვამს ბრაუზერისთვის,
    სად უნდა წაიღოს იგი.
  • 2:12 - 2:16
    ჩვენს DOM-ში უამრავი ადგილია, სადაც
    მისი მოთავსება შეიძლება.
  • 2:16 - 2:21
    ყველაზე მარტივად რომ ვქნათ, გამოვაჩინოთ
    ეს სურათი გვერდის ბოლოს.
  • 2:21 - 2:26
    დავაჭიროთ თეგის ბოლოს
  • 2:26 - 2:30
    და დავწეროთ:
    `document.body.appendChild(catEl);`
  • 2:30 - 2:31
    აი, ისიც!
  • 2:31 - 2:33
    საკმაოდ დიდია.
  • 2:33 - 2:35
    და ცოტა საშიშად გამოიყურება.
  • 2:35 - 2:41
    ახლა შეგიძლია გამოიძახო appendChild
    გვერდის ნებისმიერი DOM კვანძზე
  • 2:41 - 2:47
    და ეს შესულ ელემენტს ამ კვანძის
    ბოლო ელემენტად აქცევს.
  • 2:47 - 2:52
    აი ასეთ შემთხვევებში ნამდვილად სასარგებლოა
    DOM-ის ხის სახით გამოსახვა
  • 2:52 - 2:58
    თეგი არის ამ ხის კვანძი
    და მას რამდენიმე განყოფილება აქვს
  • 2:58 - 3:00
    მაგალითად ` და``,
  • 3:00 - 3:04
    და ახლა ბოლოს კიდევ ერთს ვუმატებთ.
  • 3:04 - 3:09
    მოკლედ ეს გადმოვა თეგის მერე,
    აი, აქ.
  • 3:09 - 3:13
    DOM მეთოდების გამოყენებით თეორიულად
    უნდა შეგეძლოს მიამაგრო ელემენტები
  • 3:13 - 3:16
    DOM-ის ნებისმიერ ნაწილში.
  • 3:16 - 3:19
    ჩვენ უბრალოდ ის ყველაზე მარტივ და
    ადვილად მისაგნებ ადგილას მოვათავსეთ.
  • 3:19 - 3:22
    გავაკეთოთ კიდევ ერთი მაგალითი.
  • 3:22 - 3:28
    აქ ჩვენ გამოვიყენეთ innerHTML იმისთვის,
    რომ თეგებში ჩაგვესვა
  • 3:28 - 3:31
    თუმცა შეგვიძლია გამოვიყენოთ createElement
  • 3:31 - 3:33
    [ბეჭდავს]
  • 3:40 - 3:44
    ჰმ, ბეჭდური შეცდომა დავუშვი.
    მართლწერა აქ ძალიან მნიშვნელოვანია.
  • 3:44 - 3:49
    ასე შევქმენით ცარიელი თეგი ,
    რომელიც სადღაც სივრცეშია.
  • 3:49 - 3:52
    პირველ რიგში უნდა განვსაზღვროთ მისთვის ტექსტი:
  • 3:52 - 3:57
    strongEl.textContent = "cat";
  • 3:57 - 3:58
    ხომ სწორია?
  • 3:58 - 4:02
    შეგვეძლო კიდევ შეგვექმნა
  • 4:02 - 4:05
    textNode
  • 4:05 - 4:10
    DOM-ის ბევრ კვანძს შეიძლება სპეციალური
    textNode ჰქონდეს
  • 4:10 - 4:15
    და ეს კვანძები ცალკე ელემენტები კი არა,
    მაინც DOM-ის კვანძებად რჩება.
  • 4:15 - 4:18
    რეალურად მათ ფოთლის კვანძებს ვეძახით
  • 4:18 - 4:20
    იმიტომ რომ ესენი ხის უკანასკნელი ელემენტებია.
  • 4:20 - 4:22
    [ბეჭდავს]
  • 4:28 - 4:32
    მოკლედ, ჩავწერთ ტექსტი "cat"
  • 4:32 - 4:34
    ახლა ჩვენ
  • 4:34 - 4:42
    შევქმენით ორი კვანძი, რომელიც უმისამართოდ
    მდებარეობს სივრცეში: თეგი
  • 4:42 - 4:47
    და ეს textNode, რომელიც უბრალოდ გვეუბნება
    "cat"-ს
  • 4:47 - 4:50
    ახლა კი ისინი ერთმანეთს უნდა დავუკავშიროთ.
  • 4:50 - 4:55
    და უნდა იყოს "cat"-ის მშობელი.
  • 4:55 - 5:03
    ამისთვის უნდა ჩავწეროთ
    `strongEl.appendChild(strongText);`
  • 5:03 - 5:12
    მოკლედ, გვაქვს თეგი
    რომელიც მოიცავს კვანძს "cat" .
  • 5:12 - 5:19
    ახლა კი სადმე უნდა ჩავსვათ ეს, მივუჩინოთ
    ადგილი ამ კოდში და ვებ-გვერდზე.
  • 5:19 - 5:25
    ახლა ვართ ციკლში "for", რომელიც შექმნილია
    ელემენტისთვის nameEls
  • 5:25 - 5:27
    სწორედ ყოველი nameEls-ს გვინდა, რომ
    გადაებას თეგს
  • 5:27 - 5:35
    გამოვა ასე:
    `nameEls[i].appendChild(strongEl);`
  • 5:35 - 5:42
    ახლა სურათს ორჯერ ვხედავთ, იმიტომ
    რომ წინა გზით გაკეთებულიც დავტოვე.
  • 5:42 - 5:47
    მოკლედ, ეს გადაება თეგს ,
    რომელიც უკვე შეიცავს თეგს.
  • 5:47 - 5:52
    ეს ხაზი შეიძლება შევცვალოთ ასე:
    innerHTML უდრის ცარიელ ხაზს
  • 5:52 - 5:58
    რაც ეფექტურად მოაშორებს სპანს,
    სანამ მას რამეს მივუმაგრებთ.
  • 5:58 - 6:05
    როგორც ხედავ, ამ მეთოდს კოდის მეტი ხაზი
    დასჭირდა, ვიდრე innerHTML-ს.
  • 6:05 - 6:07
    შეიძლება, გაინტერესებს, საერთოდ რატომ
    გამოვიყენეთ ის?
  • 6:07 - 6:11
    ბევრ დეველოპერს დოკუმენტის ასე შეცვლა არ
    მოსწონს,
  • 6:11 - 6:13
    იმიტომ რომ მეტი კოდის წერა უწევთ.
  • 6:13 - 6:17
    უმეტესობა ბიბლიოთეკებს იყენებს, მაგალითად
    jQuery-ს.
  • 6:17 - 6:21
    შემდეგ კი ცვლიან DOM-ს.
  • 6:21 - 6:27
    ასე იგივე კოდში შენ, როგორც დეველოპერს,
    გაცილებით ნაკლები ხაზის წერა გიწევს,
  • 6:27 - 6:29
    იმიტომ რომ ბიბლიოთეკის ფუნქციებს იყენებს.
  • 6:29 - 6:33
    მე კიდევ საკმაოდ მომწონს ასე წერა,
  • 6:33 - 6:39
    იმიტომ რომ ზუსტად ვხედავ, როგორც ვცვლი
    DOM-ს, ხაზს ხაზის შემდეგ,
  • 6:39 - 6:43
    ასე თითტოს უფრო ცხადია ყველაფერი, ვიდრე
    innerHTML-ის ერთ ხაზში.
  • 6:43 - 6:45
    შეიძლება, შენ არ მეთანხმები,
  • 6:45 - 6:47
    მაგრამ, მთავარია, იცი, რომ ეს გზაც არსებობს.
  • 6:47 - 6:51
    თუ დაგჭირდა, შეძლებ გამოიყენო და გაიგო,
  • 6:51 - 6:55
    რა ხდება "სცენის მიღმა" jQuery -ის მსგავს
    ბიბლიოთეკებში.
Title:
ელემენტების ნულიდან შექმნა (ვიდეო ვერსია)
Description:

more » « less
Video Language:
English
Duration:
06:56

Georgian subtitles

Revisions