এইচটিএমএল ডোম ডকুমেন্ট অবজেক্ট
এইচটিএমএল ডোম নোড
এইচটিএমএল ডোম (Document Object Model) এর মধ্যে সবকিছুই একটি নোড
- ডকুমেন্ট নিজেই একটি ডকুমেন্ট নোড
- সকল এইচটিএমএল এলিমেন্ট হলো এলিমেন্ট নোড
- সকল এইচটিএমএল এট্রিবিউট হলো এট্রিবিউট নোড
- এইচটিএমএল এলিমেন্টের ভিতরে টেক্সট হলো টেক্সট নোড
- কমেন্টগুলো হলো কমেন্ট নোড
ডকুমেন্ট অবজেক্ট
যখন ওয়েব ব্রাউজারে এইচটিএমএল ডকুমেন্ট লোড হয় তখন একটি ডকুমেন্ট অবজেক্ট তৈরি হয়।
ডকুমেন্ট অবজেক্ট হচ্ছে এইচটিএমএল ডকুমেন্টের রুট নোড এবং অন্য সকল নোডের "মালিক" : (এলিমেন্ট নোড, টেক্সট নোড, এট্রিবিউট নোড এবং কমেন্ট নোড)
জাভাস্ক্রিপ্ট থেকে ডকুমেন্ট অবজেক্ট সকল নোড অবজেক্ট এর প্রোপার্টি এবং মেথড সরবরাহ করে।
টিপ:ডকুমেন্ট হচ্ছে উইন্ডো অবজেক্ট এর অংশ এবং এটি window.document এর মাধ্যমে অ্যাক্সেস করা যায়।
ব্রাউজার সাপোর্ট
অবজেক্ট | |||||
---|---|---|---|---|---|
ডকুমেন্ট | হ্যা | হ্যা | হ্যা | হ্যা | হ্যা |
ডকুমেন্ট অবজেক্ট সকল মেজর ব্রাউজার সাপোর্ট করে।
ডকুমেন্ট অবজেক্ট প্রোপার্টি এবং মেথড
এইচটিএমএল ডকুমেন্টে কিভাবে প্রোপার্টি এবং মেথড ব্যবহার হয় তা নিচে দেওয়া হলোঃ
প্রোপার্টি / মেথড | বর্ণনা |
---|---|
document.activeElement | ডকুমেন্টের বর্তমান ফোকাস এলিমেন্টকে রিটার্ন করে। |
document.addEventListener() | ডকুমেন্টের ইভেন্ট হ্যান্ডেলার সংযোগ করা হয়। |
document.adoptNode() | অন্য ডকুমেন্ট থেকে নোড গ্রহন করে। |
document.anchors | ডকুমেন্টের সকল <a> এলিমেন্টের একটি সংগ্রহ রিটার্ন করে যার একটি name এট্রিবিউট আছে। |
document.applets | ডকুমেন্টের সকল <applet> এলিমেন্টের একটি সংগ্রহ রিটার্ন করে। |
document.baseURI | ডকুমেন্টের absolute base URI রিটার্ন করে। |
document.body | ডকুমেন্টের বডি সেট করে (<body> এলিমেন্ট)। |
document.close() | document.open() ফাংশন দিয়ে শুরু করা আউটপুট স্ট্রিমকে শেষ করে। |
document.cookie | ডকুমেন্টের মধ্যে কুকির সকল name/value জোড়ায় জোড়ায় রিটার্ন করে। |
document.createAttribute() | একটি নোড এট্রিবিউট তৈরী করে। |
document.createComment() | নির্দিষ্ট টেক্সট দিয়ে একটি কমেন্ট নোড তৈরি করে। |
document.createDocumentFragment() | একটি খালি DocumentFragment নোড তৈরি করে। |
document.createElement() | একটি এলিমেন্ট নোড তৈরি করে। |
document.createTextNode() | একটি টেক্সট নোড তৈরি করে। |
document.doctype | ডকুমেন্টের মধ্যে ডকুমেন্ট টাইপ ঘোষণা যুক্ত করা হয়। |
document.documentElement | ডকুমেন্টের <html> এলিমেন্টের মাধ্যমে ডকুমেন্ট এলিমেন্ট রিটার্ন করা হয়। |
document.documentMode | ডকুমেন্টকে ব্রাউজার দ্বারা রেন্ডার করার প্রক্রিয়া রিটার্ন করে। |
document.documentURI | ডকুমেন্টের লোকেশন সেট করে। |
document.domain | ডকুমেন্ট লোড হওয়ার সাথে সাথে সার্ভারের ডোমেইন নাম রিটার্ন করে। |
document.domConfig | অপ্রচলিত। ডকুমেন্টের ডোম কনফিগারেশন রিটার্ন করে। |
document.embeds | ডকুমেন্টের সকল <embed> এলিমেন্ট কে সেট করে। |
document.forms | ডকুমেন্টের মধ্যে সকল <form> এলিমেন্ট কে রিটার্ন করে। |
document.getElementById() | নির্দিষ্ট value দিয়ে ID এট্রিবিউট ভ্যালু আছে এমন এলিমেন্টকে রিটার্ন করে। |
document.getElementsByClassName() | নির্দিষ্ট class name দিয়ে সকল এলিমেন্ট ধারনকারী একটি নোডলিষ্ট রিটার্ন করে। |
document.getElementsByName() | নির্দিষ্ট name দিয়ে সকল এলিমেন্ট ধারনকারী একটি নোডলিষ্ট রিটার্ন করে। |
document.getElementsByTagName() | নির্দিষ্ট name ট্যাগ দিয়ে নোডলিষ্ট কন্টেইন এর সকল এলিমেন্ট রিটার্ন করে। |
document.hasFocus() | ডকুমেন্টে ফোকাস আছে কিনা ইঙ্গিত বুলিয়ান ভ্যালু রিটার্ন করে। |
document.head | ডকুমেন্টের <head> এলিমেন্ট রিটার্ন করে। |
document.images | ডকুমেন্টের মধ্যে সকল <img> এলিমেন্ট সংগ্রহ করে। |
document.implementation | DOMImplementation অবজেক্ট রিটার্ন করে। যা এই ডকুমেন্ট পরিচালনা করে। |
document.importNode() | অন্য ডকুমেন্ট থেকে নোড import করে। |
document.inputEncoding | ডকুমেন্টের জন্য ব্যবহৃত এনকোডিং, ক্যারেক্টার সেট রিটার্ন করে। |
document.lastModified | ডকুমেন্টের শেষ পরিবর্তন করা তারিখ এবং সময় রিটার্ন করে। |
document.links | ডকুমেন্টের মধ্যে যার একটি href এট্রিবিউট আছে তাদের সকল <a> এবং <area> এলিমেন্ট রিটার্ন করে। |
document.normalize() | খালি টেক্সট নোডগুলো বাদ দেয় এবং পার্শ্ববর্তী নোডগুলো যুক্ত করে। |
document.normalizeDocument() | খালি টেক্সট নোডগুলো বাদ দেয় এবং পার্শ্ববর্তী নোডগুলো যুক্ত করে। |
document.open() | document.write() ফাংশন থেকে আউটপুট সংগ্রহ করতে এইচটিএমএল এর স্ট্রিম আউটপুট খোলা হয়। |
document.querySelector() | ডকুমেন্টের নির্ধারিত সিএসএস সেলেক্টর মিলে গেলে প্রথম এলিমেন্ট রির্টান করে। |
document.querySelectorAll() | ডকুমেন্টের নির্ধারিত সিএসএস সেলেক্টর মিলে গেলে স্ট্যাটিক নোডলিষ্ট রির্টান করে। |
document.readyState | ডকুমেন্টের লোডিং স্ট্যাটাস রিটার্ন করে। |
document.referrer | ডকুমেন্টের URL রিটার্ন করে যা বর্তমান ডকুমেন্টে লোড হয়েছে। |
document.removeEventListener() | ডকুমেন্টে থেকে একটি ইভেন্ট হ্যান্ডেলার মুছে দেওয়া হয় যা addEventListener() মেথড এর মাধ্যমে যুক্ত করা হয়। |
document.renameNode() | নির্দিষ্ট নোডের Rename করা হয়। |
document.scripts | ডকুমেন্টেরর <script> এলিমেন্টগুলোর একটি সংগ্রহ রিটার্ন করে। |
document.strictErrorChecking | error-checking enforced হয়েছে কিনা তা সেট অথবা রিটার্ন করে। |
document.title | ডকুমেন্টের টাইটেল সেট অথবা রিটার্ন করে। |
document.URL | এইচটিএমএল ডকুমেন্টের এর সম্পূর্ন URL রিটার্ন করে। |
document.write() | ডকুমেনন্টে এইচটিএমএল এক্সপ্রেশন অথবা জাভাস্ক্রিপ্ট কোড লিখে। |
document.writeln() | এটি write() এর মতোই, কিন্তু প্রত্যেক স্টেটমেন্ট এর পরে নতুন লাইন যোগ করে। |
ওয়ার্নিং!!!
W3C-এর ডোম কোরের মধ্যে, ডকুমেন্ট অবজেক্ট নোড অবজেক্ট থেকে সকল প্রোপার্টি এবং মেথড inherits করে।
এদের মধ্যে অনেক প্রোপার্টি এবং মেথড ডকুমেন্টে কোনো অর্থেই ব্যবহার হয় না।
এইচটিএমএল ডকুমেন্ট অবজেক্টে এই নোড অবজেক্ট প্রোপার্টি এবং মেথড ব্যবহার থেকে বিরত থাকুন।
প্রোপার্টি / মেথড | বাতিল করার কারন |
---|---|
document.attributes | ডকুমেন্টে কোনো এট্রিবিউট নেই। |
document.hasAttributes() | ডকুমেন্টে কোনো এট্রিবিউট নেই। |
document.nextSibling | ডকুমেন্টে কোনো সিবলিং নেই। |
document.nodeName | এখানে সবসময় # ডকুমেন্ট হয়। |
document.nodeType | এখানে সবসময় 9 হয় (DOCUMENT_NODE) |
document.nodeValue | ডকুমেন্টে কোনো নোড ভ্যালু নেই। |
document.ownerDocument | ডকুমেন্টের নিজস্ব কোনো ডকুমেন্ট নেই। |
document.ownerElement | ডকুমেন্টের নিজস্ব কোনো এলিমেন্ট নেই। |
document.parentNode | ডকুমেন্টের প্যারেন্ট নোড নেই। |
document.previousSibling | ডকুমেন্টে কোনো সিবলিং নেই। |
document.textContent | ডকুমেন্টে কোনো টেক্সট কনটেন্ট নেই। |