推 s25g5d4:$("#div1")[0] 02/02 19:16
→ s25g5d4:如果有多個物件就改成[1]、[2]... 以此類推 02/02 19:16
→ TheThird:喔喔!這個方法好棒!感謝! 02/02 19:50
→ bibo9901:那叫 DOM 物件 .. 02/02 19:58
※ 編輯: TheThird 來自: 114.137.254.54 (02/02 20:08)
推 adamp3:怕麻煩你也可以寫個func直接return doc.getElementById('') 02/03 03:18
→ bibo9901:而且jq也能直接取得.attr('name')呀 既然都用jq了 還有什 02/03 10:32
→ bibo9901:麼地方會有必要轉成DOM再操作純js? 02/03 10:33
我剛好遇到一個例子用jQuery不行要用DOM。
$("#mySelect").append("<option value='foo'>foo</option>");
這行雖然可以將option加入select,但在IE6上不知道為什麼會出錯@@
所以我後來改用DOM的方式加入option。
function appendOption(content){
var elOptNew = document.createElement('option');
elOptNew.text = content;
elOptNew.value = content;
var elSel = document.getElementById('mySelect');
try {
elSel.add(elOptNew, null);
}
catch(ex) {
elSel.add(elOptNew); // IE only
}
}
只是用DOM,打document.getElementById('mySelect')感覺很累XD
改成$('#mySelect')[0]就比較簡短了!
推 mrbigmouth:聽說某些操作 使用DOM現成的東西會比較快... 02/03 11:07
推 s25g5d4:肯定比較快的 跑一次jQuery function最後還不是要用DOM去 02/03 19:23
→ s25g5d4:取 可是這樣就比較難維護 原始碼比較亂 02/03 19:23
※ 編輯: TheThird 來自: 114.136.233.190 (02/03 20:13)
→ TonyQ:select 跟 option 的關係比較特別 02/03 21:39
→ TonyQ:要作的話,基本上這樣會比較好。 02/03 21:39
→ TheThird:樓上這個網站好棒! 02/03 22:02
感謝TonyQ大的提供,不過嘗試後發現了幾個問題。
http://jsfiddle.net/Vxj4c/
appendOptions是改寫TonyQ大的使用jQuery的function,
appendOptions2則是使用DOM的function。
使用jQuery append option,length是空的,如果之後要設定selected
之類的就沒辦法(不能用索引找option比對特定value或text)。
用DOM append的就可以。
※ 編輯: TheThird 來自: 163.23.72.51 (02/04 08:58)
→ dlikeayu:innerhtml 02/05 15:46
→ TheThird:感謝amosa提供。 02/06 17:12
→ TonyQ:其實我被你騙到了...你會拿到length 是空 02/06 20:21
→ TonyQ:是因為你把 meSelect 打成 mySelect 02/06 20:21
→ TonyQ:selector 還是會 work 的,難怪我總覺得怪怪的。 02/06 20:21
→ TheThird:真的耶,我也沒發現XD 02/06 21:07