內文 :
本來想在2秒後,執行一個命令,這樣寫,結果一直失敗
var myid = '#test123';
setTimeout(function(){ $(myid).html('Hello World'); }, 2000);

 

後來查了一下,似乎setTimeout()裏面無法用$()的方式指定原素,原因是什麼我不太確定,但網路上有網友說setTimeout()會比較早帶入程式裏,比$()更早,遲到的$()因此無法辦識 (但可能是猜測而已)。

 

所以,我重新又定義了一個變數給$(myid),命名為myid2。這回不用$(myid)改用myid2,把這個myid2帶入setTimeout(),果然就成功了。
var myid = '#test123';
var myid2= $(myid);
setTimeout(function(){ myid2.html('Hello World'); }, 2000);

 

原理還是不太懂,不過這樣是可以正確執行的,success!
如果有人知道是為什麼,歡迎留言分享。