十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果你学过面向对象语言的话,例如JAVA,你应该明白这个this在JAVA里的意思,简单的说,谁在调用它,它就代表文谁。
成都创新互联公司是一家集网站建设,措美企业网站建设,措美品牌网站建设,网站定制,措美网站建设报价,网络营销,网络优化,措美网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
那么,用到这个jquery里,也算是蛮简单的.举两个例子,一个是单个对象,一个是li元素集合
例1:
$("#btnConfirm").click(function(){
alert($(this).val()); //看这里,this代表的其实就是这个ID为btnConfirm的按钮,因为你现在点击的是ID为btnConfirm的按钮,那么this就是它
});
例子2:$("ul li").each(function(){
alert( $(this).text()); //这里的this代表的是迭代的每个li元素,因为每次迭代,得到的都是一个li元素,那么这个时候this 就代表着这个当前的li元素
})
this关键字用于指当前所处的对象,例如input type="text" id = "mod" onclick="check(this)"在js代码中有方法function check(obj){ if(isEmpty($(obj))){ return false;}esle{return true;}}这儿的this就是指当前对象id为mod的输入框,再举一个例子,在js代码中var X = 1 ;function mod(){alert(this.x);} 这个地方的this就是指该window,alert的内容就是1,说白了,就是谁在执行当前的操作,this就是指这个对象。
问题出在按钮$('#confirm')事件重复绑定上, 将中间那段代码修改如下即可:
$("#confirm").off().on('click', function () {
var txt = $("#aaa").val();
n.html(txt);
$("#insert_txt").prop("hidden", true);
});
还提供了另外一个实现办法供参考:
(function () {
var $td;
var inputDiv = $('#insert_txt');
var input = $('#aaa');
var btn = $('#confirm');
$("table").on('click', "td", function (e) {
$td = $(e.currentTarget);
inputDiv.prop("hidden", false);
});
btn.on('click', function () {
$td.html(input.val());
inputDiv.prop("hidden", true);
});
})();
$this只是个自定义的变量;
$(this)是将当前don对象转换成jquery对象
;
一般定义jquery变量习惯$开头,提高可读性而已。
$(this)是把DOM对象封装成jquery对象,其相当于一个集合。
用法如下:
a
href=""
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')//二者是一样的;
});
关于JQuery中this和event.target的区别如下:
1、js中的事件会冒泡,因此可以更改,
但是event.target不会更改,它始终指向触发事件本身的DOM元素;
2、假设htm是div span / span / div,单击span时,更改span的颜色。
如果使用this按钮单击span,则由于事件起泡机制,div将更改颜色。
但是使用event.target就不会。
扩展资料:
关于JQuery中this的用法举例
例1:
$("#btnConfirm").click(function(){alert($(this).val()); // ,在这里,this指的是这个ID为btnConfirm的选项,因为你现在点击的是ID为btnConfirm的选项,因此this就是它})
例2:
$("ul li").each(function(){alert( $(this).text()); // ,这里的this指的是迭代的每个li元素,因为每次迭代,得到的都是一个li元素,因此这个时候this 就代表着这个当前的li元素