作者ohiammatt (money money money)
看板Ajax
标题[问题] getElementById的问题
时间Sat Mar 3 20:06:58 2012
各位先进好,小弟是写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
1F:推 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)
2F:推 s25g5d4:^^^^^^^^^^^^^^^^^^^^^ IE6悲剧 03/03 20:13
3F:→ tonest:考虑用jquery?? 03/03 20:15
4F:→ ohiammatt:请问如果用jquery要朝哪方面的指令下手呢? 03/03 20:18
5F:→ tonest:google: jquery selector 03/03 20:20
6F:推 s25g5d4:看你要怎麽思考 你可以先抓第二个div.type1在抓span 03/03 21:01
7F:→ s25g5d4:也可以直接抓第二个span.type2 当然这是以本例来说 03/03 21:01
8F:→ s25g5d4:通常实际情况DOM会更复杂 就看你怎麽抓了...(茶 03/03 21:01
9F:→ s25g5d4:getElementsByClassName跟ByTagName传回来都是阵列 03/03 21:02
10F:→ s25g5d4:你可以透过getElementsByClassName(classname)[0] 03/03 21:02
11F:→ s25g5d4:抓到第一个符合条件的目标 03/03 21:03
12F:→ s25g5d4:然後你也可以串接多个getElementsByClassName 03/03 21:04
14F:→ s25g5d4:实际上抓class会比较好 因为直接抓Tag容易因顺序问题 03/03 21:12
15F:→ s25g5d4:出错 但要注意IE6不支援直接抓ClassName 如果不打算作相容 03/03 21:13
16F:→ s25g5d4:就可以直接忽略 反正现在大概也找不到几个人在用IE6了... 03/03 21:13
17F:推 tonest:楼上大大专业~小弟偷懒的jquery~ 03/03 21:15
18F:→ tonest:$('.type1 .type2') 或 $('.type1').children('.type2') 03/03 21:15
19F:→ s25g5d4:其实jQuery用起来更简单...(茶 03/03 21:15
20F:→ tonest:IE~让人爱恨交加 03/03 21:16
21F:→ s25g5d4:其实只是刚好之前有弄过抓ClassName的function... 03/03 21:16
22F:→ tonest:另外建议可以考虑使用Firefox firebug或Google/IE F12 03/03 21:17
23F:→ tonest:Debug起来更方便 03/03 21:17
24F:→ tonest:IE8以後才有内建的开发人员工具 03/03 21:18