a标签href与onclick传递this对象怎么实现?

发布时间:2020-06-13编辑:脚本学堂
有关a标签中通过href或onclick传递this对象的方法,要得到innerText,而这个this并非指向它所在的A标签,应该如何实现呢,可以参考下本文提供的方法。

a标签中href与onclick传递this对象的用法

想传递当前对象给一个函数,于是就将这个URL写成"javascript:shoControlSidebar(this)",如何实现呢?

在blog的后台管理中允许为一个分类添加一个地址,但是不好添加onclick事件。

想传递当前对象给一个函数,于是就将这个URL写成"Javascript:shoControlSidebar(this)",可是结果发现这并不可行,传递过去的参数是一个对象,但是却得不到任何其他信息。
要得到innerText,而这个this并非指向它所在的A标签。

这是<a href="javascript:shocontrolsidebar(this)">和<a href="javascript:void(0)" onclick="shocontrolsidebar(this)">不同的地方

当使用onclick="shocontrolsidebar(this)"时,解释器会为它包装一个匿名函数,变成了:
 

复制代码 代码示例:
a.onclick = function anonymous()
{
shoControlSidebar(this);
}

这个this指的就是a这个对象,而使用href的方式时,由于是一个地址,这个this就无处可指了。
 

复制代码 代码示例:
<a href="javascript:void(0);" onclick="test(this);">A标签测试</a>

想获取A 中的innerHTML
如果href="test(this);" 不但获取不到值,而且程序将退出,href引向不对。
 

复制代码 代码示例:
function test(obj){
alert(obj);
//js
alert(obj.innerHTML);
//jquery
alert($(obj).html());
}