A标签中通过href和onclick传递的this对象实现思路
更新时间:2013年04月19日 17:31:05 作者:
想传递当前对象给一个函数,于是就将这个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());
}
这是<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());
}
相关文章
一个级联菜单代码学习及removeClass与addClass的应用
最近在学些web前段的知识,看见博客园首页左侧的一个级联菜单,很是好奇,于是想自己实现以下,代码书写很简洁而且易懂,感兴趣的朋友可以了解下,希望本文对你学习级联菜单有所帮助2013-01-01javascript 中设置window.location.href跳转无效问题解决办法
这篇文章主要介绍了javascript 中设置window.location.href跳转无效问题解决办法的相关资料,需要的朋友可以参考下2017-02-02
最新评论