ورود

View Full Version : تغییر مقدار یک object



moshfegh
سه شنبه 09 فروردین 1384, 12:01 عصر
سلام،

من زیاد روی JavaScript تسلط ندارم. در هنگام کد نویسی، با یک مشکلی برخورد کردم که فکر می کنم از مفاهیم پایه ای این زبان است که من نمی دانم. امیدوارم اینجا کسی باشه که بتونه به سوال من پاسخ بده!

فرض کنید که یک object داریم با آیدی MyObject. حالا می خواهیم در کد، این object را گرفته و یک property آن را تغییر بدیم. من به 2 روش اینکار را انجام می دهم. ولی روش دوم کار نمی کنه!!!!

روش اول (درست عمل می کنه)

MyObject.someProperty = 2

روش دوم (که تاثیری نداره)

<span dir=ltr>document.all["MyObject"].someProperty = 2</span>

این روش هیچ error ای نمی ده. ولی مقدار این property تغییر نمی کنه!!!


به نظر شما علت این مشکل چیه؟

ببینید، من حتماً باید از روش دوم استفاده کنم. چون به دلایلی ممکنه در آیدی بعضی Object ها، حرف دو نقطه وجود داشته باشه. در این صورت، دیگه روش اول عمل نمی کنه. یعنی نمی توان نوشتن MyPanel:MyObject.someProperty = 2. چون دو نقطه از حروف غیر مجاز در نام متغیرهاست....
[/code]

علیرضا جاوید
یک شنبه 14 فروردین 1384, 10:16 صبح
توی اینترنت اکسپلورر وقتی مینویسی
all
دیگه لازم نیست تو کروشه پراپرتی رو بنویسی
میتونی از این کد تو تمام بروزرها استفاده کنی بایستی یک نقطه و سپس نام پراپرتی رو بنویسی



var ie=document.all
var dom=document.getElementById
var ns4=document.layers
crossobj=&#40;dom&#41;?document.getElementById&#40;'happyyear' &#41; &#58; ie? document.all.happyyear &#58; document.happyyear