دسترسی به گره ها در جاوا اسکریپت به چه صورت است ؟

0

دسترسی به گره ها در جاوا اسکریپت به چه صورت است ؟

حسین برخورداری سوال پاسخ داده شده اکتبر 18, 2020
گذاشتن نظر
2

دسترسی به گره ها در جاوا اسکریپت به چه صورت است ؟

تا به اینجا با دسترسی به گره هاي فرزند و پدري آشنا شدیم. اما اگر بخواهیم به یک گره خاص، آن هم در عمق یک درخت دسترسی داشته باشیم چه؟ براي سهولت این کار DOM چندین متد براي دسترسی مستقیم به گره ها فراهم آورده است.

getElementsByTagName()

از این متد براي دسترسی به لیستی(آرایه) از عناصر خاص استفاده می شود.

var oImgs = document.getElementsByTagName(“img”);

دستور فوق لیستی از تمام عناصر img صفحه را در oImgs ذخیره می کند. فرض کنید می خواهیم به اولین عنصر عکس اولین پاراگراف صفحه دسترسی داشته باشیم:

var oPs = document.getElementsByTagname(“p”);
var oImgsInP = oPs[0].getElementsByTagName(“img”);

می توانیم از دستور زیر براي دسترسی به تمام عناصر صفحه استفاده کنیم:

var oAllElements = document.getElementsByTagName(“*”);

getElementsByName()

DOM براي دسترسی به عناصري که صفت name آنها برابر با مقدار خاص است از این متد استفاده می کند. به مثال زیرتوجه کنید:

<html>
<head>
<title>DOM Example</title>
</head>
<body>
<form method=”post” action=”dosomething.php”>
<fieldset>
<legend>What color do you like?</legend>
<input type=”radio” name=”radColor” value=”red” /> Red<br />
<input type=”radio” name=”radColor” value=”green” /> Green<br />
<input type=”radio” name=”radColor” value=”blue” /> Blue<br />
</fieldset>
<input type=”submit” value=”Submit” />
</form>
</body>
</html>

این صفحه رنگ مورد علاقه کاربر را سوال می کند radiobutton ها اسم یکسانی دارند. اما می خواهیم فقط مقدار radiobutton ي که انتخاب شده است را پیدا کنیم. براي ایجاد ارجاع به عناصرradiobutton می توان از کد زیر استفاده نمود.

var oRadios = document.getElementsByName(“radColor”);

حال می توانید از همان روش قبلی براي به دست آوردن مقدار هر از radiobutton ها به روش زیر عمل کنید:

alert(oRadios[0].getAttribute(“value”)); //outputs “red”

getElementById()

از این متد براي دسترسی به عناصر به وسیله خاصیت ID آنها استفاده می شود. می دانیم که خاصیت ID باید یکتا باشد به این معنی که هیچ دو عنصري نمی توانند داخل یک صفحه ID یکسانی داشته باشند. این سریعترین و رایجترین راه براي دسترسی به عنصري خاص از صفحه است. به کد زیر نگاه کنید:

<html>
<head>
<title>DOM Example</title>
</head>
<body>
<p>Hello World!</p>
<div id=”div1”>This is my first layer</div>
</body>
</html>

چنانچه بخواهیم از متد .getElementsByTagName() براي دسترسی به عنصر div  این صفحه با شناسه div استفاده کنیم باید به صورت زیر عمل کنیم:

var oDivs = document.getElementsByTagName(“div”);
var oDiv1 = null;
for (var i=0; i < oDivs.length; i++){
if (oDivs[i].getAttribute(“id”) == “div1”) {
oDiv1 = oDivs[i];
break;
}
}

اما می توانیم همین کار را به صورت زیر و با استفاده از متد .getElementById() انجام دهیم:

var oDiv1 = document.getElementById(“div1”);

می بینید که استفاده از حالت دوم بسیار ساده تر ، کوتاه تر و بهینه تر است.

منبع : انجمن علمی مهندسی فناوری اطلاعات دانشگاه پیام تور مرکز اران و بید گل

برای اموزش های ویدیویی زبان جاوا اسکیریپت به بستر ویدیو های اموزشی بروید

بستر اموزش های ویدویی 

حسین برخورداری سوال پاسخ داده شده اکتبر 18, 2020
گذاشتن نظر
پاسخ خود را بنویسید .
  • فعال
  • بازدیدها1976 times
  • پاسخ ها1 پاسخ
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

علامت ذره بین Tutorials سمت راست به رنگ قرمز به شما کمک خواهد کرد .

جدید ترین سوالات پرسیده شده

منقضی شدن سم بتانال 1 پاسخ | 0 آرا
ایا ایدز گزفتم؟ 0 پاسخ ها | 0 آرا
انتخاب ورزش رزمی 0 پاسخ ها | 1 رای
وزارت تعاون کار و رفاه اجتماعی نماد اعتماد الکترونیک اسناد و املاک کشور مرکز آموزش ویدیویی انجمن حم فروشگاه ملی تولید کنندگان مدیریت بر مدیران حم سامانه حیوانات رسانه ملی اخبار متا دانشگاه متاورس استخدام | دانش فروشگاه حم تبلیغات ملی بازار NFT متاورس رنگ نقشه ملی سه بعدی متا املاک و مستغلات