Dom manipulation

Dom manipulating implementation

Dom ကိုအသုံးပြုမယ်ဆို document နဲ့စရပါတယ်။

html element တွေကို dom အသုံးပြုပြီး manipulate လုပ်မယ်ဆို document နောက်မှာ getElementBy ကိုသုံးပြီး html element တွေကို access လုပ်ရပါတယ်။ Html element တွေကို access လုပ်မယ်ဆို သူ့ရဲ့ id နဲ့လား, class name နဲ့လား, tag နဲ့လား စတာတွေရှိပါတယ်။ getElementById, getElementByClassName, getElementByTagName စတာတွေပဲ ဖြစ်ပါတယ်။ အောက်က code ကိုလေ့လာကြည့်ပါ။

အပေါ်က code ကို run ကြည့်တဲ့အခါ console မှာ html element တွေကို object အနေနဲတွေ့ရမှာပဲ ဖြစ်ပါတယ်။

tag name, class name တွေနဲ့ access လုပ်တဲ့အခါ object ထဲမှာ အဲ့တာနဲ့ပက်သက်တဲ့ object တွေအကုန် return ပေးမှာဖြစ်တဲ့အတွက် တစ်ခုချင်းစီကို access လုပ်ဖို့ for loop ကိုအသုံးပြုပြီး access လုပ်ရပါတယ်



နောက်တစ်ခုက parent နဲ့ child nodes တွေကို manipulate တဲ့နည်းပါ။ Html က အကုန်လုံးရဲ့ parent node ဖြစ်ပြီး div ကတော့ html ရဲ့ child nodes ဖြစ်ပြီး div ထဲက p ရဲ့ parent nodes က div ပဲ ဖြစ်ပါတယ်။ parent node ထဲက child node ကိုထည့်နည်း၊ ဖျက်နည်း က အရေးကြီးပါတယ်။ ဘာလို့လဲဆိုတော့ social media website တွေဖြစ်တဲ့ facebook, twitter တို့မှာ post တစ်ခုစီကို div နဲ့ စုထားတာပဲ ဖြစ်ပါတယ်။ အဲ့တာကြောင့် အထဲက data တွေကို access, update, delete လုပ်တတ်ဖို့က အရေးကြီးပါတယ်။ အောက်က code ထဲမှာ access, update, delete လုပ်နည်းကိုကြည့်ရအောင်။


Attribute တွေကို handle လုပ်တဲ့နည်းကလည်းအရေးကြီးပါတယ်။ attribute ဆိုတာ html tag ထဲက id တို့ class တို့ပဲ ဖြစ်ပါတယ်။ ဘာလို့ဒါက အရေးကြီးလဲဆိုတော့ ecommerce website တွေမှာ product ကို ဝယ်လို့ရတယ်, cart ထဲက ထည့်ထားလို့ရတယ်။ review ပေးလို့ရတယ်။ စတဲ့ button တွေအများကြီးက product တစ်ခုတည်းမှာရှိတာမလို့ user က ဘယ် button နှိပ်လိုက်လည်းဆိုတာသိမှ သူနဲ့သက်ဆိုင်တဲ့ functionality တွေ perform လုပ်လို့ရမှာဖြစ်ပါတယ်။ button tag ရဲ့ attribute မှာ data- နဲ့စပြီး button က ဘာ action လုပ်လဲ သတ်မှတ်ပေးရပါတယ်။ javascript မှာ dataset ကိုအသုံးပြုပြီး access လုပ်ပါတယ်။ ဒါ့အပြင် dom ကိုအသုံးပြုပြီး attribute တွေကို create, remove လုပ်လို့ရပါတယ်။


အောက်ဆုံးက Code နှစ်ခုကို comment လုပ်ထားပါတယ်။ class ကို remove လုပ်လိုက်လို့ အပေါ်က setAttribute လုပ်ထားတာ မမြင်သာမှာ စိုးလို့ပါ။ သင်စမ်းကြည့်မယ်ဆိုရင်တော့ comment ကိုဖြတ်လို့ရပါတယ်။

Html element ထဲက attribute တွေကို .attribute_name နဲ့လည်း ပြောင်းလဲနိုင်ပါတယ်။ ဉပမာ

document.getElementById('demo').class = 'New class name'



data- ကိုသုံးပြီး button ရဲ့ action ကို သတ်မှတ်တာပဲ ဖြစ်ပါတယ်။ code ကိုနည်းနည်းလေးရှင်းပြပါရစေ။ addEventListener ကိုသုံးပြီး click event ကို handle လုပ်မယ်ဆို parameter တစ်ခုကို input အနေနဲ့ယူလို့ရတယ်။ event parameter, အဲ့တာက ဘာလုပ်လဲဆိုတော့ click ခံရတဲ့ button ရဲ့ info တွေအကုန်အဲ့ parameter ထဲထည့်ထားတာ။ event.target ကကျတော့ သင် click လိုက်တဲ့ button ရဲ့ html tag တွေ, အကုန်ပြပေးပါတယ်။ Try ကြည့်ရင်ပိုနားလည်ပါလိမ့်မယ်။ dataset ကတော့ အဲ့ button ရဲ့ data- နဲ့စတဲ့ attribute တွေကို access လုပ်တဲ့နေရာမှာသုံးပါတယ်။ နောက်က action ကတော့ data- ရဲ့နောက်က action ကို​ပြောတာပါ။

Dom ကိုအသုံးပြုပြီး css style တွေကို manipulate လုပ်လို့ရပါတယ်။ element.style ကိုအသုံးပြုရပါတယ်။ style ရဲ့နောက်မှာ ကိုယ်ပြောင်းချင်တဲ့ နေရာကိုပဲရွေးနိုင်သလို cssText ကိုအသုံးပြုပြီး element ရဲ့ style တစ်ခုလုံးကိုပြောင်းနိုင်ပါတယ။ css မှာ background-color က js မှာ - အစား backgroundColor လို့ရေးရပါတယ်၊ ဘာလို့လဲဆိုတော့ - က js မှာ အနုတ်ဖြစ်နေလို့ပါ။ classList ကိုလည်းသုံးတတ်ရပါမယ် ဒါမှ bootstrap လို framework တွေသုံးတဲ့အခါ အဆင်ပြေမှာပါ။




Popular posts from this blog

Data Structure introduction

Algorithm basic examples

Dom introduction