rush2012 2008-07-23 21:52
浏览 510
已采纳

关于a标签中传递this问题?

我有这样的语句:

 删除

当点击链接时执行方法deleteRow, 但传递过去的this不是当前的,而是一个不清楚的其它东西。我使用Dom Inspector调试时,如果动态去掉href="#",就可以获取真正的。但写成这样:

 删除

也不能成功。请大侠出手相助!!
[b]问题补充:[/b]
to Ham:
老大,这样做直接提示我说页面找不到!
删除

[b]问题补充:[/b]
Ham老大,

function deleteRow(obj)
{
debugger;
}
如果我只传递this一个变量过去的话,OK,我能正确获取到,obj.tagName="A":
删除

但如果多一个表达式,像这样:
删除

在接收方法中:
function deleteRow(id, obj)
{
debugger;
}
id是一个计算出来的值,比如是123;但此时obj.tagName=undefined;

不知道是不是表达式的原因,因为如果我直接传值的话,也是obj.tagName="A",也就是能正确获取到.
删除

[b]问题补充:[/b]
怪就怪我不会发图哈, 我是用VS2005来调试的嘛,所有的属性方法都显示在那里的嘛。也不是所谓的RP问题,我们小组都遇到这个问题没解决所以我冒个泡。。。

麻烦各位移步一下,图在这里:
http://love2java.iteye.com/admin/blogs/219091

因为我们的页面纯HTML,但对所编写的表达式是在接收到后台传来的数据后,在专门的表达式处理函数遍历所有的标签再赋值的。我一直找不准问题究竟在哪里的因为是,我用IE Inspector去掉href后再点链接就能正确传送this。

麻烦移步看看,给点建议吧。

  • 写回答

6条回答 默认 最新

  • iteye_17163 2008-07-24 14:24
    关注

    不要叫我老大..听着怪别扭的.

    根据你说的这个问题.我写了个简单的代码测试了一下:
    [code="java"]<%@ page pageEncoding="GBK"%>

    <br> function deleteRow(id,obj){<br> alert(&quot;tagName=&quot;+obj.tagName+&quot;\nid=&quot;+id);<br> }<br>
    <%request.setAttribute("id","theValue");%>


    删除


    [/code]
    输出的值一直都是[quote]tagName=A
    id=theValue[/quote]

    莫非...莫非出现了传说中的"RP问题"?? :x

    会不会是${id}中.含有类似" ','"这样的东西,把"'${id}'"的值实际上分解成为了两个变量.
    楼主测试一下.传过来来的this到底是个什么东西.输出它的一些信息,如:
    typeof(obj);
    obj.constructor;
    用for(var p in obj)对obj中的属性进行遍历.
    查看当前方法的.arguments.length属性是多少.是否为2

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试