تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ محمد شکری
چند نکته در خصوص DOM Navigation
جامعه جاوا اسکریپت ایجاد شده در ۰۷ خرداد ۱۴۰۲

برای اینکه صرفا Element هارو دریافت کنیم هنگام DOM Navigation به جای دریافت تمامی Node‌ها میتونیم از معادل هاشون به صورت زیر استفاده کنیم :

elem.parentNode // elem.parentElement
elem.childNodes // elem.children
elem.firstChild //elem.firstElementChild
elem.lastChild //elem.lastElementChild
elem.nextSibling //elem.nextElementSibling
elem.perviouSibling //elem.perviousElementSibling

و اینکه هر node یک خصیصه تحت عنوان nodeType داره که به وسیله اون میشه node هارو از یکدیگه متمایز کرد اگر بنا باشه که از node navigation استفاده کنیم به جای element navigation بنا به دلایل خاص مثلا جمع آوری تمامی کامنت‌های داخل صفحه .

هر node در صفحه میتونه موارد مختلفی باشه که پرکاربردتریناش به صورت زیرن :

یک : Node.ELEMET_NODE که نشان دهنده ELEMENT هستش و عدد برگشتی توسط خصیصه nodeType براش 1 هستش

دو : Node.TEXT_NODE که نشان دهنده TEXT در صفحه هستش و عدد برگشتی 3 میباشد

سه : Node.COMMENT_NODE که نشان دهنده COMMENT در صفحه هستش و عدد برگشتی 8 میباشد

سه : Node.DOCUMENT_TYPE_NODE که نشان دهنده DOCUMENT_TYPE در صفحه هستش و عدد برگشتی 10 میباشد

مثلا میخوایم اگه کامنت بود چاپش کنه تو کنسول :

const body = document.body.childNodes;
body.forEach((elems) => {
    if (elems.nodeType === 8) {
        console.log(elems);
    }
});

با تشکر از تیم 7learn