Re: [問題] 請問相容性問題( prototype )
暫時我得到這個結論
<script type="text/javascript" src="prototype.js"></script>
<table>
<tr id='e1' class='test'>
<td>
e1
</td>
</tr>
<tr id='e2' class='test'>
<td>
e2
</td>
</tr>
</table>
<script type="text/javascript">
onload = function () {
all = $$('.test');
//all.invoke('hide');
$A(all).invoke('hide');
//[e1,e2].invoke('hide');
[$('e1'),$('e2')].invoke('hide');
}
</script>
不要用 all,要用 $A(all)
不要用 e1,要用 $('e1')
如果說用 e1 一定是錯的
但奇怪的是我現在都會成功了
是 cache 嗎? 我按 ctrl-f5 好幾次了,始終無法重製錯誤
所以我無法標定問題,只能'看程式,憑邏輯'
;;
就我看程式,$() 其實是一個函式
它會 extend 一個物件所有擁有的 method
所以不用它,e1 就不擁有 hide; e1.hide 為空的
但這樣我就無法解釋不用它時 chrome 為什麼會動
以及目前整個程式為什麼會動
另外 $A 也是類似的狀況
似乎我用
$A(e1,e2,e3) 也可以
(我根本無法確認,畢竟現在會動不代表永遠會動,ctrl-f5 也沒差別)
以上,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.219.65.16
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章