在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());
}