Re: [問題] js在迴圈裡設定函數
※ 引述《lturtsamuel (港都霹靂火)》之銘言:
: 不好意思問題有點不清楚
: 我想問的是,在一個for迴圈中,變數i的質每次都會變
: 要怎麼用i來當作函數的變數呢?
: 好像越講越不清楚,舉個例子好了
: 像是我html裡有三個div,id就叫d1,d2,d3好了
: 現在我想要設定他們的onclick,按到d1時會alert("hello 1!")這樣,以此類推
: 直覺想到的方法是
: window.onload = {
: for(var i = 1; i <= 3; i++) {
var d = getElementById('d' + i),
message = 'hello' + i;
: d.onclick = function() {
alert(message);
: };
: }
: }
: 不過這樣每個都alert("hello 4!")
: 我的想法是把i用字面上的形式保留下來,不過不知道怎麼做
: 所以po來這邊請各位高手解答,感恩...
雖說用 closure 很潮,可是如果再這個使用情境,其實只要把message 先行算出即可。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.147.33
→
01/15 11:48, , 1F
01/15 11:48, 1F
→
01/15 13:22, , 2F
01/15 13:22, 2F
→
01/15 13:42, , 3F
01/15 13:42, 3F
推
01/15 15:49, , 4F
01/15 15:49, 4F
→
01/15 15:50, , 5F
01/15 15:50, 5F
→
01/15 15:50, , 6F
01/15 15:50, 6F
討論串 (同標題文章)