PDA

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 درست بود.
البته حرف شما هم درسته