“这个”如何在jQuery中运行

时间:2012-02-20 09:20:48

标签: javascript jquery jquery-selectors

有人可以解释“这个”在jQuery中是如何工作的。我试图在网上找到一些信息,但因为“这个”在他通常的意义上被大量使用,我找不到任何好的东西。

我希望能够在不给每个列表元素一个id的情况下更改列表元素(<li>)的背景。

7 个答案:

答案 0 :(得分:2)

$('li').on('click.namespace', function() {

   console.log(this);    /* this is a reference to the DOM 
                            element you clicked */

   console.log($(this)); /* this is a jQuery reference to the 
                            DOM element you clicked */

   /* using jQuery reference you can change the background in this way */
   $(this).css('background-image', 'url(...)');




});

答案 1 :(得分:1)

您找到click() documentation了吗?它显示了如何使用点击处理程序它有甚至使用$(this)的示例。

答案 2 :(得分:1)

以下是一个例子:

$('li').click(function() {
  $(this).attr("class", "clicked");
});

当点击某个项目时,this会获取所点击项目的值,即DOM元素。 $(this)允许您访问jquery API。

答案 3 :(得分:1)

$("li").click(function() {
   $(this).css("background-color", "red");

});

这是一个例子。 $(this)指的是JQuery对象,this指的是被点击的常规DOM对象。

答案 4 :(得分:1)

如果在li上设置onclick事件,可以使用$(this)来获取li的jquery对象,然后添加一个类,例如。 $(本).addClass( “newBackground”)。

答案 5 :(得分:1)

jQuery很友好地将你的函数的上下文设置为你感兴趣的东西。在这种情况下,<li>有问题。但是this仍然是一个裸DOM元素,你需要用$()包装它以在其上使用jQuery方法。

$('li').on('click', function() {
    $(this).css({background:'red'});
});

答案 6 :(得分:1)

有时您必须使用绑定函数(请参阅jQuery.proxy())作为事件处理程序,在这些情况下,您可以以不同方式访问当前元素,而不是this,您可以使用{{1 }}属性,请参阅http://api.jquery.com/event.currentTarget/