jquery 的$(this)用法

这是jsp代码,调用onclick的那个class选择器里是个变量这个是js的操作,为什么我打印的a显示undefined啊... 这是jsp代码,调用onclick的那个class选择器里是个变量

这个是js的操作,为什么我打印的a显示undefined啊
展开
 我来答
匿名用户
推荐于2016-10-10
展开全部
  $this只是个自定义的变量;
  $(this)是将当前don对象转换成jquery对象 ;
  一般定义jquery变量习惯$开头,提高可读性而已。
  $(this)是把DOM对象封装成jquery对象,其相当于一个集合。
  用法如下:
  <a href="http://IP/q/1010000000125418" target="_blank" data-id="1010000000125418">jQuery</a>
  $('a').click(function(){
this.innerHTM==$(this).html()=='jQuery';//三者是一样的.
this.getAttribute('href')==this.href==$(this).attr('href')//三者是一样的;
this.getAttribute('target')==this.target==$(this).attr('target')//三者是一样的;
this.getAttribute('data-id')==$(this).attr('data-id')//二者是一样的;
});
一些大事几多d
推荐于2018-02-23
知道答主
回答量:10
采纳率:0%
帮助的人:10.5万
展开全部

onclick="b()" 改成 onclick="b(this)"

function b(obj){
    var a = $(obj).prev('.tex').val();
}
更多追问追答
追问
你为何如此屌  哈哈   我想了一晚上, 你终于帮我解决了  谢谢谢谢, 你能给我解释下吗
追答
onclick="b(this)"  这里的传值this是指当前操作的标签,这个只能js适用,而$(obj)就相当于$('input'),只是里面的值已经绑定了当前操作的那个标签

好像解释的不怎么清楚的说 简单的说就相当于onclick="b(this)" 这个传值的对象只适用与js,然后用jquery $(obj)封装成jquery的方法
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lkiarest
2013-11-23 · TA获得超过543个赞
知道小有建树答主
回答量:761
采纳率:100%
帮助的人:411万
展开全部
注册事件用$("#btnId").click(b);就不需要改函数的代码了
更多追问追答
追问
这个注册事件写哪
追答
初始化的时候就可以写比如:
$(function() {
// 写这儿,不过我刚才发的代码里的那个btnid要改成你的button的id

});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式