我试图了解一些使用$(this)
节点的jquery代码。它用于什么以及何时可以使用?
$("li").hover(border, noBorder);
function border()
{
$(this).css("border", "1px solid black");
}
答案 0 :(得分:5)
请阅读Remy Sharp的jQuery's this:demystified
实际上有两个主要的背景 在jQuery中'this'。第一个指的是 a到DOM元素,第二个到 一个jQuery对象。
作为DOM元素
$('a.newTarget').each(function () { // <- our anonymous callback
// check the DOM attribute 'host' on this
if (this.host != window.location.host) {
// create a jQuery object using the current DOM element
$(this).attr('target', '_new');
}
});
作为jQuery对象
jQuery.fn.newTarget = function () {
// 'this' is a jQuery object at this point - with all the jQuery functions
return this.each(function () { // return so we don't break the chain
// now we are inside of a jQuery function, the DOM element is the context
// so 'this' has changed to become a DOM element.
if (this.host != window.location.host) {
$(this).attr('target', '_new');
}
});
};
希望这有帮助。
答案 1 :(得分:2)
$(this)
只包装jQuery对象中this
引用的内容。它通常用于回调中,以引用触发事件的元素等。
答案 2 :(得分:0)
这用于访问循环上的当前迭代值 例如,您有一个包含'n'行的表,以下代码将使用此
提醒每行内容$(document).ready(function(){
$('table#tableid tr').each(function(){
alert($(this).html());
});
});
答案 3 :(得分:-1)