উত্তর:
বুঝুন যে .children
একটি একটি সম্পত্তি উপাদান । 1 কেবলমাত্র উপাদান রয়েছে .children
এবং এই শিশুরা সব ধরণের উপাদান রয়েছে। 2
তবে নোডের.childNodes
সম্পত্তি । যে কোনও নোড থাকতে পারে 3.childNodes
এর একটি দৃ concrete় উদাহরণ হ'ল:
let el = document.createElement("div");
el.textContent = "foo";
el.childNodes.length === 1; // Contains a Text node child.
el.children.length === 0; // No Element children.
বেশিরভাগ সময় আপনি ব্যবহার করতে চান .children
কারণ সাধারণত আপনি পাঠ্য বা মন্তব্যে লুপ করতে চান না আপনার ডিওএম ম্যানিপুলেশনের নোডগুলি ।
আপনি যদি পাঠ্য নোডগুলি পরিচালনা করতে চান তবে আপনি সম্ভবত এর .textContent
পরিবর্তে চান । 4
1. প্রযুক্তিগতভাবে, এটি প্যারেন্টনোডের একটি বৈশিষ্ট্য , এলিমেন্টের অন্তর্ভুক্ত একটি মিশ্রণ।
২. এগুলি সমস্ত উপাদান কারণ .children
একটি এইচটিএমএল সংগ্রহ , যাতে কেবল উপাদান থাকতে পারে।
৩. একইভাবে, .childNodes
কোনও নোড ধরে রাখতে পারে কারণ এটি নোডলিস্ট ।
4. বা .innerText
। পার্থক্য এখানে বা এখানে দেখুন ।
.children
: jsfiddle.net/fbwbjvch/1
Element.children
কেবলমাত্র মৌলিক শিশুদের Node.childNodes
ফিরিয়ে দেয় , যখন সমস্ত নোডের শিশুদের প্রদান করে। দ্রষ্টব্য যে উপাদানগুলি নোড, তাই উভয়ই উপাদানগুলিতে উপলব্ধ।
আমি বিশ্বাস করি childNodes
আরও নির্ভরযোগ্য। উদাহরণস্বরূপ, এমডিসি (উপরে লিঙ্কযুক্ত) নোট করেছেন যে আইই কেবলমাত্র children
আই 9 তে পেয়েছিল childNodes
ব্রাউজার বাস্তবায়নকারীদের দ্বারা ত্রুটির জন্য কম স্থান সরবরাহ করে।
.children
মন্তব্য নোডগুলি ফিল্টার করে না, তবে এটি পাঠ্য নোডগুলি ফিল্টার করে।
.getElementsByTagName('*')
। আইই কখনও কখনও বিরক্তিকর হতে পারে ...
children
সেই সমর্থন IE এর শিম / পলফিল বাস্তবায়ন রয়েছে ।
এখন পর্যন্ত ভাল উত্তর, আমি কেবল যুক্ত করতে চাই যে আপনি ব্যবহার করে নোডের ধরণটি পরীক্ষা করতে পারেন nodeType
:
yourElement.nodeType
এটি আপনাকে পূর্ণসংখ্যা দেবে: ( এখান থেকে নেওয়া )
| Value | Constant | Description | |
|-------|----------------------------------|---------------------------------------------------------------|--|
| 1 | Node.ELEMENT_NODE | An Element node such as <p> or <div>. | |
| 2 | Node.ATTRIBUTE_NODE | An Attribute of an Element. The element attributes | |
| | | are no longer implementing the Node interface in | |
| | | DOM4 specification. | |
| 3 | Node.TEXT_NODE | The actual Text of Element or Attr. | |
| 4 | Node.CDATA_SECTION_NODE | A CDATASection. | |
| 5 | Node.ENTITY_REFERENCE_NODE | An XML Entity Reference node. Removed in DOM4 specification. | |
| 6 | Node.ENTITY_NODE | An XML <!ENTITY ...> node. Removed in DOM4 specification. | |
| 7 | Node.PROCESSING_INSTRUCTION_NODE | A ProcessingInstruction of an XML document | |
| | | such as <?xml-stylesheet ... ?> declaration. | |
| 8 | Node.COMMENT_NODE | A Comment node. | |
| 9 | Node.DOCUMENT_NODE | A Document node. | |
| 10 | Node.DOCUMENT_TYPE_NODE | A DocumentType node e.g. <!DOCTYPE html> for HTML5 documents. | |
| 11 | Node.DOCUMENT_FRAGMENT_NODE | A DocumentFragment node. | |
| 12 | Node.NOTATION_NODE | An XML <!NOTATION ...> node. Removed in DOM4 specification. | |
মজিলা অনুযায়ী নোট করুন :
নিম্নলিখিত ধ্রুবকগুলি অবচিত করা হয়েছে এবং এটি আর ব্যবহার করা উচিত নয়: নোড.এটিটিআরআইবিউটিস ননডে, নোড.এন্টিটি_এফটিএনসি_এনওডি, নোড.এনটিটি_নোডি, নোড.নোটেশন_নোডি
আমি প্যারেন্টনোড.চাইল্ডেনদের সাথে যাব :
এটি উপলব্ধ করা হিসাবে namedItem
পদ্ধতি যে আমাকে দেয় সরাসরি সব শিশুদের মাধ্যমে looping বা ব্যবহার করতে এড়ানো ছাড়া শিশুদের উপাদান এক পেতে getElementById
ইত্যাদি
যেমন
ParentNode.children.namedItem('ChildElement-ID'); // JS
ref.current.children.namedItem('ChildElement-ID'); // React
this.$refs.ref.children.namedItem('ChildElement-ID'); // Vue
আমি নোড.চাইল্ড নোডের সাথে যাব :
এটি উপলব্ধ করা হিসাবে forEach
যখন আমি সঙ্গে কাজ পদ্ধতি window.IntersectionObserver
যেমন
nodeList.forEach((node) => { observer.observe(node) })
// IE11 does not support forEach on nodeList, but easy to be polyfilled.
ক্রোম 83 এ
Node.childNodes প্রদান করে
entries
,forEach
,item
,keys
,length
এবংvalues
ParentNode.children প্রদান করে
item
,length
এবংnamedItem