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


Posted in Javascript onApril 19, 2013

在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()); 
}
Javascript 相关文章推荐
Extjs Gird 支持中文拼音排序实现代码
Apr 15 Javascript
node.js cookie-parser之parser.js
Jun 06 Javascript
js判断空对象的实例(超简单)
Jul 26 Javascript
Bootstrap Table的使用总结
Oct 08 Javascript
vue2实现可复用的轮播图carousel组件详解
Nov 27 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
Nov 01 Javascript
JavaScript实现新年倒计时效果
Nov 17 Javascript
vue-router启用history模式下的开发及非根目录部署方法
Dec 23 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
May 23 Javascript
微信小程序之几种常见的弹框提示信息实现详解
Jul 11 Javascript
vue element-ui实现动态面包屑导航
Dec 23 Javascript
VUE中的v-if与v-show区别介绍
Mar 13 Vue.js
javascript中onclick(this)用法介绍
Apr 19 #Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
Apr 19 #Javascript
使用jQuery同时控制四张图片的伸缩实现代码
Apr 19 #Javascript
使用jQuery实现的网页版的个人简历(可换肤)
Apr 19 #Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
Apr 19 #Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 #Javascript
Jquery实现页面加载时弹出对话框代码
Apr 19 #Javascript
You might like
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
PHP排序算法的复习和总结
2012/02/15 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
RequireJs的使用详解
2017/02/19 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
JQuery实现定时刷新功能代码
2017/05/09 jQuery
关于vue-router路径计算问题
2017/05/10 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
python 测试实现方法
2008/12/24 Python
Django的数据模型访问多对多键值的方法
2015/07/21 Python
分享python数据统计的一些小技巧
2016/07/21 Python
python验证码识别的实例详解
2016/09/09 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
django解决跨域请求的问题详解
2019/01/20 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
selenium如何定位span元素的实现
2021/01/13 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
python简单验证码识别的实现过程
2021/06/20 Python
Go语言空白表示符_的实例用法
2021/07/04 Golang