2010-08-04 172 views
1

我有一個div名稱的數組,我想加載關閉的div的數組。原型js調用自定義函數

我從原型api和另一個網站讀取,如果要對列表中的每個項目執行相同的操作,通常會優先調用。

//I have this switch_off function 

function switch_off(div){ 
    Effect.SwitchOff(div); 
} 

//and this array 
div_names = ['notice','status_bar','word_count'] 

//Please do tell me if this is not the best option: 
div_names.invoke('switch_off'); 

但它不起作用。

我需要提供另一個參數來調用嗎?難道是this

補充: 這裏的螢火蟲輸出

//value[method] is undefined 
//[Break on this error] return value[method].apply(value, args); 

謝謝!

回答

1

invoke的效果是調用enumerable中每個項目的成員方法,因此不適合您試圖實現的結果類型,除非要擴展字符串原型。

應該提供

東西是工作將是下列任何一項:

function switch_off(div){ 
    Effect.SwitchOff(div); 
}  

//and this array 
div_names = ['notice','status_bar','word_count']; 

//Please do tell me if this is not the best option: 
div_names.each(switch_off); 

['notice','status_bar','word_count'].each(function (div){ 
    Effect.SwitchOff(div); 
}); 
+0

感謝Quintin的,它沒有做警報。我包括Firebug輸出可能有助於 – 2010-08-04 23:00:50

+0

@Nik哇,自從我使用原型並誤解了文檔之後已經很長時間了,'invoke'的作用是在枚舉中的每個項目上調用成員方法。所以在你的例子中,它永遠不會工作。我會更新一個合理的解決方案。 – 2010-08-04 23:41:08

+0

只是好奇,你現在用什麼來代替原型,或者你不再在js中編程太多? – 2010-08-05 00:18:12