View Full Version : دسترسی به کلاس والد
ASedJavad
جمعه 01 اردیبهشت 1391, 11:29 صبح
سلام
چند تا کلاس همنام داریم که تو هر کدوم دو تا دیو داریم فرضا با آی دی های a1 , a2
حالا تو a2 میخوام متن a1 همون کلاس رو بدست بیارم
چجوری میشه؟
ASedJavad
جمعه 01 اردیبهشت 1391, 20:12 عصر
فرض کنید یه همچین چیزیه:
<div class="xx">
<div id="a1">salam</div>
<div id="a2"></div>
</div>
<div class="xx">
<div id="a1">aleyk</div>
<div id="a2"></div>
</div>
حالا می خوایم هر کدوم از این a2 ها متن a1 همون کلاس رو بگیره
Beginner2013
جمعه 01 اردیبهشت 1391, 21:18 عصر
فرض کنید یه همچین چیزیه:
<div class="xx">
<div id="a1">salam</div>
<div id="a2"></div>
</div>
<div class="xx">
<div id="a1">aleyk</div>
<div id="a2"></div>
</div>
حالا می خوایم هر کدوم از این a2 ها متن a1 همون کلاس رو بگیره
<script>
var divs=document.getElementsByTagName("div");
for(var i=0;i<divs.length;i++)
{
if(divs[i].className=="xx")
{
divs[i].childNodes[1].innerHTML=divs[i].childNodes[0].innerHTML;
}
}
</script>
ASedJavad
شنبه 02 اردیبهشت 1391, 01:20 صبح
سلام
ظاهرا شما متوجه سوال من نشدید.
بذارید یه جور دیگه براتون توضیح بدم
کد زیر رو نگاه کنید:
<div class="xx">
<div id="a1">salam</div>
<script type="text/javascript">
var a = document.getElementById("a1").textContent;
alert(a);
</script>
</div>
<div class="xx">
<div id="a1">aleyk</div>
<script type="text/javascript">
var a = document.getElementById("a1").textContent;
alert(a);
</script>
</div>
الان اگه شما این رو اجرا کنید، دو تا آلرت میده که تو جفتش نوشته "salam" در حالیکه من میخوام تو اولی بنویسه "salam" و تو دومی بنویسه "aleyk"
(البته ظاهرا این کد تو IE درست جواب نداد. من اول تو کروم و فایرفاکس تست کردم که جواب میداد ولی همون طور که گفتم جفتش پیغام "salam" می داد)
eAmin
شنبه 02 اردیبهشت 1391, 21:10 عصر
id ای که به تگها میدید باید یکتا باشه در غیر اینصورت استاندارد نیست و باعث تداخل میشه. اگر میخواید از نامهای یکسان استفاده کنید میتونید، از همون کلاسها استفاده کنید.
ASedJavad
شنبه 02 اردیبهشت 1391, 21:15 عصر
ممنون
جوابم رو گرفتم
همون جواب blogeen درست بود.
البته حرف شما هم درسته
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.