我将以下JQuery函数附加到网页上n个文本框的blur事件.
$(document).ready(function() { $("input[id$='_txtTuitionAmt']").blur(function() { alert(this.value); }) });
它工作得很好.当用户选中任何文本框时,会弹出一个警告并在文本框中显示该值.
我感到困惑的是“this.value”,无论是JQuery还是JavaScript.我是否以正确的方式使用’this’对象,或者我应该做其他事情以获得元素的值?
对不起,如果我的问题看起来有点模糊.我只是试图掌握“这个”对象以及它是如何工作的.我查看了JQuery文档,但在“this”上找不到任何内容.
解决方法
这指的是当前的dom对象(同样的方式,即document.getElementById(“someid”)指的是想要的dom对象).基于浏览器,您现在可以访问该对象的函数/字段(即this.nodeName,this.value,…)您正在访问浏览器实现提供的内容.
如果你使用$(this)(或$(“#someid”)或$(document.getElementById(“someid”)))你正在jquery中封装对象 – 因此你现在可以访问jquery函数和字段(即. $(this).val(); $(this).find(“somenode”),….)
如果你有一个jquery对象(即var n = $(this).find(“#someid”);)并且你想要摆脱jquery封装,因为你需要一个标准的dom函数你可以使用.get(0 ).
这本身可以解析为不同的对象,具体取决于它的调用位置.它可以是一个节点,如果在onclick或其他事件处理程序中调用(< div id =“asdf”onclick =“alert(this.id)... - 将打印asdf),表单或其他一些对象 - 请参阅http://www.quirksmode.org/js/this.html