看板 Ajax 關於我們 聯絡資訊
各位先進好,小弟是寫script的超新手, 最近想寫一個可以自動按網頁上button的script, 用的是firefox 3.5 + Chickenfoot 但目前卡在一個問題卡很久了 就是網頁上有些button為這種形式: <div id="type1" class="type2">開始</div> 這種button我用 click( getElementById("type1"))就可按到了 但有些button為這種形式:<div class="type1"> <span class="type2">開始</span> </div> 因為沒有id我就不能用之前的方法,所以想請問有什麼方法可以達到和getElementById 相同的效果 請各位指教,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.42.206
tonest:getElementsByClassName / getElementsByTagName 03/03 20:10
謝謝你的提示 再請問如果有多個button都是相同形式,如 <div class="type1"> <span class="type2">開始1</span> </div> <div class="type1"> <span class="type2">開始2</span> </div> 那我想要按開始2呢,謝謝 ※ 編輯: ohiammatt 來自: 123.195.42.206 (03/03 20:14)
s25g5d4:^^^^^^^^^^^^^^^^^^^^^ IE6悲劇 03/03 20:13
tonest:考慮用jquery?? 03/03 20:15
ohiammatt:請問如果用jquery要朝哪方面的指令下手呢? 03/03 20:18
tonest:google: jquery selector 03/03 20:20
s25g5d4:看你要怎麼思考 你可以先抓第二個div.type1在抓span 03/03 21:01
s25g5d4:也可以直接抓第二個span.type2 當然這是以本例來說 03/03 21:01
s25g5d4:通常實際情況DOM會更複雜 就看你怎麼抓了...(茶 03/03 21:01
s25g5d4:getElementsByClassName跟ByTagName傳回來都是陣列 03/03 21:02
s25g5d4:你可以透過getElementsByClassName(classname)[0] 03/03 21:02
s25g5d4:抓到第一個符合條件的目標 03/03 21:03
s25g5d4:然後你也可以串接多個getElementsByClassName 03/03 21:04
s25g5d4:http://jsfiddle.net/eNpG9/ 03/03 21:12
s25g5d4:實際上抓class會比較好 因為直接抓Tag容易因順序問題 03/03 21:12
s25g5d4:出錯 但要注意IE6不支援直接抓ClassName 如果不打算作相容 03/03 21:13
s25g5d4:就可以直接忽略 反正現在大概也找不到幾個人在用IE6了... 03/03 21:13
tonest:樓上大大專業~小弟偷懶的jquery~ 03/03 21:15
tonest:$('.type1 .type2') 或 $('.type1').children('.type2') 03/03 21:15
s25g5d4:其實jQuery用起來更簡單...(茶 03/03 21:15
tonest:IE~讓人愛恨交加 03/03 21:16
s25g5d4:其實只是剛好之前有弄過抓ClassName的function... 03/03 21:16
tonest:另外建議可以考慮使用Firefox firebug或Google/IE F12 03/03 21:17
tonest:Debug起來更方便 03/03 21:17
tonest:IE8以後才有內建的開發人員工具 03/03 21:18