با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، جاوا اسکریپت در واقع به عنوان زبانی برای اعمال رفتارهای خاص و پویایی به صفحات وب، و همچنین تعاملی ساختن صفحات وب انتشار یافت، پس یکی از ویژگی ها و خصوصیات مهم در جاوا اسکریپت قابلیت دسترسی و تغییر عناصر HTML و محتوای آن ها در صفحات وب می باشد. که در ادامه ای این مبحث ما چگونگی دسترسی به عناصر HTML در جاوا اسکریپت را بررسی کرده ایم.
دسترسی به عناصر HTML در جاوا اسکریپت نیز روش های متعددی دارد که در این بخش به آن می پردازیم.
با جاوا اسکریپت شما می توانید عناصر مختلف HTML را دستکاری کنید.
برای انجام این کار، ابتدا باید عناصر مورد نظر را در صفحه وب پیدا کنید. که چند راه برای انجام این کار وجود دارد:
ساده ترین راه برای پیدا کردن یک عنصر HTML در DOM، استفاده از id عنصر است.
این مثال عنصری را با ویژگی “id=”intro پیدا می کند:
1 | var myElement = document.getElementById("intro"); |
اگر عنصر یافت شود، این عنصر را به عنوان یک object (در myElement) باز می گرداند.
اگر عنصر یافت نشد، myElement حاوی صفر است.
در مثال زیر تمام عناصر <p> پیدا می شود:
1 | var x = document.getElementsByTagName("p"); |
مثال زیر عنصری با ویژگی “id=”main را پیدا کرده و سپس تمام عناصر <p> داخل “main” را نیز پیدا می کند:
1 2 | var x = document.getElementById("main"); var y = x.getElementsByTagName("p"); |
اگر می خواهید تمام عناصر HTML با نام یک نام کلاس را پیدا کنید، از () getElementsByClassName استفاده کنید.
این مثال یک لیستی از تمام عناصر را با ویژگی “class = “intro را باز می کند.
1 | var x = document.getElementsByClassName("intro"); |
نکته : پیدا کردن عناصر بر اساس نام کلاس در Internet Explorer 8 و نسخه های قبلی کار نمی کند.
اگر می خواهید تمام عناصر HTML که با یک انتخابگر مشخص CSS مطابقت دارند (id، نام کلاس، نوع، صفات، مقادیر صفات و …) پیدا کنید، از متد () querySelectorAll استفاده کنید.
این مثال لیستی از تمام عناصر <p> با “class=”intro را باز می گرداند.
نکته : متد ()querySelectorAll در مرورگرهای Internet Explorer 8 و نسخه ی قدیمی تر کار نمی کند.
این مثال عناصر form را با ویژگی “id=”frm1 را در مجموعه ی فرم ها پیدا کرده و تمام مقادیر عناصر را پیدا می کند :
1 2 3 4 5 6 7 | var x = document.forms["frm1"]; var text = ""; var i; for (i = 0; i < x.length; i++) { text += x.elements[i].value + "<br>"; } document.getElementById("demo").innerHTML = text; |
آبجکت های HTML زیر (و مجموعه آبجکت) نیز قابل دسترسی هستند:
می دانیم که جاوا اسکریپت به عنوان زبانی برای تعاملی کردن و کامل تر کردن صفحات وب و همچنین اعمال رفتارهای خاص به صفحات وب ارائه شده است، از این رو دانستن روش های دسترسی به عناصر HTML در جاوا اسکریپت از ضروریات کار با جاوا اسکریپت می باشد، از این رو در این بخش به این مباحث مهم پرداختیم.