关于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。

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

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

根据你说的这个问题.我写了个简单的代码测试了一下:
[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

关于楼主所提的问题,我试了一下.
当使用alert传递过来的this值时,得到的是a元素链接的绝对路径,看起来是一个字符串的值.但使用typeof()来看传过来的值类型,却得到传过来的this是一个object类型的结论,

所以我猜测,应该是a元素重写了基类的toString()方法.所以在这里,返回的不是[object],而是当前a元素的链接的绝对路径.

但this的值确实就是这个a元素.这点可以对this传过来的值进行操作得出,如:改变它的innerHTML属性..改变它的css属性.都会影响到页面上的a元素.所以,完全可以像使用其它元素一样,对a元素传过来的this进行操作,不会影响到页面的逻辑.

你试试看,写成这样:
[code="java"]删除
[/code]

汗。。。这句话可不是我说的
是上面这位兄弟说的。 :cry:

我想问一下:传递一个this过来,是要进行什么操作呢?

如果是代码出错了,那么说一下错误是什么。
如果只是想问原因,我上面已经做过解答了,如果有不清楚的,可以补充一下。

显然楼主有RP问题。

当然了RP问题其实说穿了就是楼主不够细心,没有好好测试。