我在学习制作网页游戏“猫游记”的外挂
想通过某种方法点击地图页面上一些“按钮”(我刚学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">&nbsp;27&nbsp;</span> 
这个是地图页面上"按钮"的源码..我应该如何去得到它的句柄并操作它?
或者通过别的方法操作它..请指教..

解决方案 »

  1.   

    onclick="go(this,this.title)"这里的this就是指的span对象.这里只是相对于触发span的click事件的函数go()而言.
      

  2.   

    非常感谢你的回复..
    "这里只是相对于触发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()
    来实现点击...明白我的意思么?先感谢你的再次回复
      

  3.   

    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(){
                         单击执行的函数
                  }
               }}
      

  4.   

    <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">&nbsp;27&nbsp;</span> 
      

  5.   

    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">&nbsp;27&nbsp;</span><script language="javascript">
    <!--
    function go(obj,tit){
    document.getElementById("s").value=obj.id
    document.getElementById("t").value=tit
    }
    //-->
    </script>
      

  6.   

    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">&nbsp;27&nbsp;</span><script language="javascript">
    <!--
    function go(obj,tit){
    document.getElementById("c").value=obj.className
    document.getElementById("t").value=tit
    }
    //-->
    </script>
      

  7.   

    (纠正)#6:
    id=<input id=c>
    改为:className=<input id=c>
      

  8.   

    我想我有必要说清楚一点...
    之前说的那个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编程能力有所增强..感谢..