DOM در جاوا اسکریپت چیست ؟
DOM در جاوا اسکریپت چیست ؟
DOM به توسعه دهندگان وب امکان دسترسی و دستکاري عناصر یک صفحه HTML را می دهد. این مدل عناصر موجود در یک صفحه HTML را به صورت درختی از گره ها ترسیم می کند. به تکه کد زیر دقت کنید:
<html>
<head>
<title>DOMinating JavaScript</title>
</head>
<body>
<h1>DOMinating JavaScript</h1>
<p>
If you need some help with your JavaScript, you might like
to read articles from
<a href=http://www.danwebb.net/ rel=”external”>DanWebb</a>
<a href=”http://www.quirksmode.org/” rel=”external”>PPK</a>
and
<a href=”http://adactio.com/” rel=”external”>Jeremy
Keith</a>
</p>
</body>
</html>
همانطور که می بینید می توان هر یک از عناصر موجود در صفحه را در قالب یک گره 1 نمایش داده می شود. اما همیشه در DOM گرهی ویژه به نامdocument وجود دارد که در بالاترین سطح درخت قرار گرفته و سایر گره ها را شامل می شود. در درخت بالا هر مستطیل به عنوان یک گره محسوب می شود. گره ها انواع مختلفی دارند که بعضی از آن ها به شرح زیر است:
document بالاترین گرهی که همه گره هاي دیگر به آن متصل هستند(فرزند آن هستند). به این نوع گره ، گره سند گفته می شود.
element گرهی که شامل یک عنصر از صفحه باشد. این گره شامل یک تگ آغازي و یک تگ پایانی مانند <tag></tag> یا <tag /> است. این نوع گره تنها نوعی است که می تواند شامل فرزندان از انواع دیگر باشد. به این گره ها ، گره عنصري گفته می شود.
text این نوع گره ها به متن موجود در داخل یک تگ آغازي و تگ پایانی اشاره دارند. این نوع گره ها هم نمی توانند فرزند داشته باشند. به این نوع گره ها ، گره متنی 3 می گویند. اگر گره هاي متنی را هم به مثالی که بررسی کردیم اضافه کنیم درخت ما به شکل زیر تبدیل خواهد شد: attr گره اي که به یک صفت از یک عنصر اشاره می کند و فاقد فرزند می باشد. به این نوع گره ها ، گره صفتی گفته می شود. در درخت DOM معمولا این گره ها را به صورت دایره اي و متصل به گره هاي عنصري نمایش می دهند. به عنوان مثال هر یک از عناصر لینکی که در مثال بالا مشاهده می شود داراي صفت هاي href , rel هستند.
comment به گره هاي توضیحی اشاره می کند و فاقد فرزند (در واقع به تگcomment صفحه اشاره می کند.) غالبا گرهی اصلی به عنوان راس این درخت وجود دارد که همان document است گره ها از نظر جاوااسکریپت به عنوان یک شی در نظر گرفته می شوند که این اشیا می توانند خاصیت ها و متدهایی داشته باشند.
منبع : انجمن علمی مهندسی فناوری اطلاعات دانشگاه پیام تور مرکز اران و بید گل
برای اموزش های ویدیویی زبان جاوا اسکیریپت به بستر ویدیو های اموزشی بروید