关于JS遍历 页面 无ID元素

zbdfx 2009-03-01 01:41:00
我在学习制作网页游戏“猫游记”的外挂
想通过某种方法点击地图页面上一些“按钮”(我刚学JS知道的不多..我猜那应该是一个"标签"因为那是用<SPAN>的)
按照VB的编程思想..(我原来学过VB)..操作指定对象得先得到对象的ID..句柄之类的东西
我就用document.getElementsByTagName("SPAN")来找..可是返回结果我看不懂
我后来在网上发现用这种方法的好像只适用于<SPAN ID = XXX></SAPN>的那种东西吧?
<span class="pos" style="left: 321px;top: 141px;position:absolute; height:19px" onclick="go(this,this.title)" hidefocus=true title="白马港27"> 27 </span> 

这个是地图页面上"按钮"的源码..我应该如何去得到它的句柄并操作它?
或者通过别的方法操作它..请指教..
...全文
555 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zbdfx 2009-03-03
  • 打赏
  • 举报
回复
我想我有必要说清楚一点...
之前说的那个GO()是那个网页的...而不是我编写的...4,5,6楼好象都误解我意思了
3楼..你的方法我用过了..就是document.getElementsByTagName("SPAN")..
输出的.length居然=0..我无言得要死...不知道这个跟那个游戏是多框架的有没有关系...
听说对FRAME的访问是有限制的...
我是在地址栏那里输入
javascript:var aaa=document.getElementsByTagName("SPAN");alert(aaa.length);

弹出来的对话框是=0的....哪位高手有时间和耐心帮助偶的话..请到PET.MOP.COM注册个帐号试验一下吧...
或许对各位的JS编程能力有所增强..感谢..
zbdfx 2009-03-02
  • 打赏
  • 举报
回复
我在学校..准备回家..
浏览了一下各位的建议...没看懂有什么对于问题解决有啥实质性作用
明天再回来研究下
感叹下:没加分的问题果然没人理.....
caiying2009 2009-03-02
  • 打赏
  • 举报
回复
(纠正)#6:
id=<input id=c>
改为:className=<input id=c>



caiying2009 2009-03-02
  • 打赏
  • 举报
回复
no id:

id=<input id=c>
<br>
title=<input id=t>
<br>
<span class="pos" style="left: 321px;top: 141px;position:absolute; height:19px" onclick="go(this,this.title)" hidefocus=true title="白马港27"> 27 </span>

<script language="javascript">
<!--
function go(obj,tit){
document.getElementById("c").value=obj.className
document.getElementById("t").value=tit
}
//-->
</script>

caiying2009 2009-03-02
  • 打赏
  • 举报
回复


id=<input id=s>
<br>
title=<input id=t>
<br>
<span id=27白马港 class="pos" style="left: 321px;top: 141px;position:absolute; height:19px" onclick="go(this,this.title)" hidefocus=true title="白马港27"> 27 </span>

<script language="javascript">
<!--
function go(obj,tit){
document.getElementById("s").value=obj.id
document.getElementById("t").value=tit
}
//-->
</script>

redsnow_007 2009-03-02
  • 打赏
  • 举报
回复
<script language="javascript">
function go(obj, title){
if(title == "白马港27"){
document.location = "白马港27.html";
}else{
document.location = "黑马港27.html";
}
}
</script>
<span class="pos" style="left: 321px;top: 141px;position:absolute; height:19px" onclick="go(this,this.title)" hidefocus=true title="白马港27"> 27 </span>

xxzjlgo 2009-03-02
  • 打赏
  • 举报
回复
var spans=document.getElementsByTagName("SPAN")获得span元素集合
function fiter(key){//key 用span元素的title值来标识要操作的元素对象
for(var i=0;i<spans.length;i++){//遍历所有span元素查找title=key 的元素
if(spans[i].getAttribute("title")=key){
spans[i].onclick=function(){
单击执行的函数
}
}

}
zbdfx 2009-03-02
  • 打赏
  • 举报
回复
非常感谢你的回复..
"这里只是相对于触发span的click事件的函数go()而言."
这句话不是很看得懂~能解释下么?
我尝试过直接"CALL"GO()这个函数..(请允许我这样说)
但我至少得知道一个OBJ的句柄吧?以下是这个GO的代码:

function go(obj,r){
if(r!=p.room){
p.cmd('gto '+r);
curObj=obj;
}
}

我不能随便填个数字进去例如GO(123,"123")吧?
我的问题就是如何得到这个"按钮"的句柄,然后通过"CALL"这个GO()
来实现点击...明白我的意思么?先感谢你的再次回复
打字员 2009-03-02
  • 打赏
  • 举报
回复
onclick="go(this,this.title)"

这里的this就是指的span对象.

这里只是相对于触发span的click事件的函数go()而言.

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧