return ($('#MyID')==document.getElementById('MyID')); //FALSE
$('#MyID')取得的是jQuery專用的Element/Object,但有些場合還是需要傳統方式取到的Element: document.getElementById('MyID');以筆者來說就是在使用 Google Map API v3的時候,必須使用後者的傳統Javascript語法所回傳的物件,才能成功呼叫某個API function,在慣用jQuery輔助的程式中,突然夾雜了這個語法有點唐突,也不太一致。
不過,實務上甚少有人提及,因此花了一些時間搜尋及測試,證實以下的語法可以用jQuery語法達到相同的「傳統」效果:
$('#MyId').get(0); //或是 $('#MyId')[0]; //=document.getElementById('MyID')
這樣有助於解決一些API或舊程式的問題,但又能用jQuery一致的語法撰寫程式,撰寫時會較為方便;不過要注意的是,若有變數拿來此物件來使用,需要特別留意屬性、語法問題,也要記得它畢竟非jQuery的物件。
沒有留言:
張貼留言