重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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就是指这个对象。
创新互联-专业网站定制、快速模板网站建设、高性价比当涂网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式当涂网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖当涂地区。费用合理售后完善,十多年实体公司更值得信赖。
$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')//二者是一样的;
});
问题出在按钮$('#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)
this. 不是jquery的是本来就有的 一般就是指的当前对象的变量
$(this) 就是当前标签选择器
$("a").click(function (){
$(this).css("color","red");
});
这样你点过的a标签就会变成红色
如果你学过面向对象语言的话,例如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元素
})