您的位置:首页 > Web前端 > JavaScript

A标签中通过href和onclick传递的this对象实现思路

2016-12-06 14:24 288 查看
想传递当前对象给一个函数,于是就将这个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());
}


文章转载链接:http://www.jb51.net/article/35799.htm

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript this