我有以下的jQuery函数被连接到N个文本框的网页上的模糊事件。
$(document).ready(function() {
$("input[id$='_txtTuitionAmt']").blur(function() {
alert(this.value);
})
});
它工作得很好。 当用户突出部出任何文本框然后警报的弹出窗口,并显示文本框内的值。
我感到困惑的是“THIS.VALUE”,以及它是否是JQuery的或JavaScript。 我使用的是在正确的方式“这个”对象,或者我应该做其他事情,以获得在元素的值?
很抱歉,如果我的问题似乎有点模糊。 我只是想交手的“此”对象,它是如何工作。 我看着jQuery的文档中,但无法找到“这”东西。
这是指当前DOM对象(以同样的方式,即document.getElementById("someid")
是指想要的DOM对象)。 基于浏览器上,您现在可以访问该对象的功能/场(即this.nodeName, this.value
......),你正在访问的是什么浏览器的实现提供。
如果您使用$(本)(或$("#someid")
或$(document.getElementById("someid"))
你ecapsulating对象jQuery中-所以你现在可以访问jQuery的功能和领域(即。 $(this).val(); $(this).find("somenode")
,....)
如果你有一个jQuery对象(即var n = $(this).find("#someid");
),你想摆脱了jQuery胶囊的,因为你需要一个标准的DOM功能,你使用获得(0 )。
这本身就可以解决不同的对象,不同的地方的叫法。 它可以是一个,如果叫一个onclick或其他事件处理程序中的节点( <div id="asdf" onclick="alert(this.id)...
-将打印ASDF),表格或其他物体-见HTTP: //www.quirksmode.org/js/this.html
此= DOM元素
$(本)= jQuery'ified
通常,我用普通的旧的JavaScript在那里我可以。 jQuery的替代在这种情况下是$(this).val()
-我不认为需要它。
JQuery的文档为核心/每个 :
每个匹配的元素的上下文中执行的功能。
这意味着在执行传入的函数,每次(这是一次匹配的每一个元素)的“这个”关键字指向特定的DOM元素。 请注意,“这个”并不指向一个jQuery对象。
“这”指的jQuery选择元素之前。 由于使用的是“本”一个jQuery回调函数中,“本”实际上指向的jQuery选择DOM对象。 如果你会用“$(本)”,这将直接暴露jQuery对象是/是匹配元素(一个或多个)。 正如其他人所说,您可以在该元素的运用jQuery的功能。
见: 这个揭秘 ,和this关键字 。
这篇文章(请原谅这个双关语)解释如何工作多一点:
为什么我还是喜欢原型jQuery的
笔者认为,对jQuery库一个糟糕的设计决定,但我不主张任何一种方式。 我只是想,这篇文章非常有趣。