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

想传递当前对象给一个函数,于是就将这个URL写成”JavaScript:shoControlSidebar(this)”,可是结果发现这并不可行,接下来为大家详细介绍下解决方法

在blog的后台管理中允许为一个分类添加一个地址,但是不好添加onclick事件。想传递当前对象给一个函数,于是就将这个URL写成"Javascript:shoControlSidebar(this)",可是结果发现这并不可行,传递过去的参数是一个对象,但是却得不到任何其他信息。我想得到的是innerText,而这个this并非指向它所在的A标签。

这是不同的地方。

当使用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());
} 
时间: 2024-10-26 22:23:18

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

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

在blog的后台管理中允许为一个分类添加一个地址,但是不好添加onclick事件.想传递当前对象给一个函数,于是就将这个URL写成"Javascript:shoControlSidebar(this)",可是结果发现这并不可行,传递过去的参数是一个对象,但是却得不到任何其他信息.我想得到的是innerText,而这个this并非指向它所在的A标签. 这是<a href="Javascript:shoControlSidebar(this)">和<a

Html A标签中 href 和 onclick用法、区别、优先级别

如果不设置 href属性在IE6下面会不响应hover.双击后会选中标签的父容器而非这个一a标签(IE下都存在这一问题).  代码如下 复制代码 <a href="javascirpt:fn(this)"> <a onclick="fn(this)"> 假定我们有个fn方法,需要取到这个元素,第一个方法传入的this是空值. 所以,比较推荐的写法是  代码如下 复制代码 <a href="javascript:void(0)&

a标签的href和onclick 的事件的区别介绍

a标签的href与onclick事件,想必大家不陌生吧,至于它们有什么区别,你知道吗?下面就为大家介绍下,感兴趣的朋友可以学习下,希望对大家有所帮助   1.onclick事件先执行,如果onclick事件返回一个false值则href不再执行. 2.href="#"默认页面到锚点#top所以页面有滚动条时会跳到最上面.最好的解决办法是href="javascript:void(0);". 3.href中的返回内容会冲掉当前页面的信息.

a标签的href和onclick的区别

 链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接): 假设链接中同时存在 href 与 onclick,如果想让 href 属性下的动作不执行,onclick 必须得到一个 false 的返回值.不信,你可以将 goGoogle 函数中的 return false 注释掉: 如果页面过长有滚动条,且希望通过链接的 onclick 事件执行操作.应将它的 href 属性设为 javascript:void(0);,而不要是 #,这可

struts1-在Struts1的HTML标签中,使用超链接的onclick=&amp;amp;quot;submit();&amp;amp;quot;提交无效?

问题描述 在Struts1的HTML标签中,使用超链接的onclick="submit();"提交无效? 代码如下: <html:form action="/webMessage.do"> .... <a href='javascript:void(0);' onClick="submit();"><b>保存</b></a> .... </html:form> 之前我记得这样

a标签的href与onclick事件的区别详解_基础知识

onclick中javascript的区别一般没用到都没注意,但出错时才有些郁闷,看文本章解释如下: 以前一直很随意,后来看.net里的linkbutton似乎是用在<a href="javascript:fun();"...>的形式,今天用这种方式就遇到一些问题,摘网友的文章和我的结论放在下面: 1.链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接): 2.假设链接中同时存在 href 与 onclick,如

a 标签中调用js的几种方法

 我们常用的在a标签中有点击事件: 1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放.W3C标准不推荐在href里面执行javascript语句 2. a href="javascript:void(0);&quo

javascript 定义在新的标签中打开连接实现代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-

javaweb-在一个自定义标签中利用out.write输出里一个自定义标签失效

问题描述 在一个自定义标签中利用out.write输出里一个自定义标签失效 public void doTag() throws JspException, IOException { Book book = null; JspContext jc = super.getJspContext(); JspWriter out = jc.getOut(); Object value = jc.getAttribute(bookMap); // if (value instanceof Map) {