[問題] getElementById的問題

看板Ajax作者 (money money money)時間14年前 (2012/03/03 20:07), 編輯推噓5(5019)
留言24則, 3人參與, 最新討論串1/2 (看更多)
各位先進好,小弟是寫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

03/03 20:10, , 1F
getElementsByClassName / getElementsByTagName
03/03 20:10, 1F
謝謝你的提示 再請問如果有多個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)

03/03 20:13, , 2F
^^^^^^^^^^^^^^^^^^^^^ IE6悲劇
03/03 20:13, 2F

03/03 20:15, , 3F
考慮用jquery??
03/03 20:15, 3F

03/03 20:18, , 4F
請問如果用jquery要朝哪方面的指令下手呢?
03/03 20:18, 4F

03/03 20:20, , 5F
google: jquery selector
03/03 20:20, 5F

03/03 21:01, , 6F
看你要怎麼思考 你可以先抓第二個div.type1在抓span
03/03 21:01, 6F

03/03 21:01, , 7F
也可以直接抓第二個span.type2 當然這是以本例來說
03/03 21:01, 7F

03/03 21:01, , 8F
通常實際情況DOM會更複雜 就看你怎麼抓了...(茶
03/03 21:01, 8F

03/03 21:02, , 9F
getElementsByClassName跟ByTagName傳回來都是陣列
03/03 21:02, 9F

03/03 21:02, , 10F
你可以透過getElementsByClassName(classname)[0]
03/03 21:02, 10F

03/03 21:03, , 11F
抓到第一個符合條件的目標
03/03 21:03, 11F

03/03 21:04, , 12F
然後你也可以串接多個getElementsByClassName
03/03 21:04, 12F

03/03 21:12, , 13F

03/03 21:12, , 14F
實際上抓class會比較好 因為直接抓Tag容易因順序問題
03/03 21:12, 14F

03/03 21:13, , 15F
出錯 但要注意IE6不支援直接抓ClassName 如果不打算作相容
03/03 21:13, 15F

03/03 21:13, , 16F
就可以直接忽略 反正現在大概也找不到幾個人在用IE6了...
03/03 21:13, 16F

03/03 21:15, , 17F
樓上大大專業~小弟偷懶的jquery~
03/03 21:15, 17F

03/03 21:15, , 18F
$('.type1 .type2') 或 $('.type1').children('.type2')
03/03 21:15, 18F

03/03 21:15, , 19F
其實jQuery用起來更簡單...(茶
03/03 21:15, 19F

03/03 21:16, , 20F
IE~讓人愛恨交加
03/03 21:16, 20F

03/03 21:16, , 21F
其實只是剛好之前有弄過抓ClassName的function...
03/03 21:16, 21F

03/03 21:17, , 22F
另外建議可以考慮使用Firefox firebug或Google/IE F12
03/03 21:17, 22F

03/03 21:17, , 23F
Debug起來更方便
03/03 21:17, 23F

03/03 21:18, , 24F
IE8以後才有內建的開發人員工具
03/03 21:18, 24F
文章代碼(AID): #1FKWbb9C (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1FKWbb9C (Ajax)