如何在jquery中正确使用$(this)?

如何在jquery中正确使用$(this)?,jquery,css,Jquery,Css,我正在尝试将文本大小调整为父框的大小,是否有人可以向我解释为什么会这样: $('.box').css('font-size',$('.box').height()); 这是行不通的: $('.box').css('font-size',$(this).height()); 顺便说一句,我正在将jquery mobile与phonegap一起使用。如您所见: 传递函数的上下文绑定到调用css()方法的对象。这就是为什么,这个将被分配给类为dom的HTML元素的原因,如您所见: 传递函数的上下文

我正在尝试将文本大小调整为父框的大小,是否有人可以向我解释为什么会这样:

$('.box').css('font-size',$('.box').height());
这是行不通的:

$('.box').css('font-size',$(this).height());
顺便说一句,我正在将jquery mobile与phonegap一起使用。

如您所见:

传递函数的上下文绑定到调用
css()
方法的对象。这就是为什么,
这个
将被分配给类为
dom

的HTML元素的原因,如您所见:


传递函数的上下文绑定到调用
css()
方法的对象。这就是为什么,
this
将被分配给HTML元素,其类
dom

不起作用,因为您正在调用
$('.box')
css
函数,并将$(this.height())的值传递给它,而不是对其自身的引用。在这种情况下,
仍然是保存该行代码的函数的上下文。尝试以下方法,以实现您的目标:

$('.box').css('font-size',function () {
   return $(this).height() + "px";
});

这不起作用,因为您正在调用
$('.box')
css
函数,并将$(this).height()的值传递给它,而不是对其自身的引用。在这种情况下,
仍然是保存该行代码的函数的上下文。尝试以下方法,以实现您的目标:

$('.box').css('font-size',function () {
   return $(this).height() + "px";
});
例如:

HTML:

捕获事件时,该事件与页面上的元素相关联。在这种情况下,元素是按钮类型的输入字段,捕获的事件是“单击”事件

click()
事件函数中的代码可以将触发事件的元素称为
$(this)

如果希望引用DOM中的任何其他元素,则必须指定该元素。

示例:

HTML:

捕获事件时,该事件与页面上的元素相关联。在这种情况下,元素是按钮类型的输入字段,捕获的事件是“单击”事件

click()
事件函数中的代码可以将触发事件的元素称为
$(this)


如果希望引用DOM中的任何其他元素,必须指定该元素。

那么
$(this)
引用什么?使用
console.log($(this))进行尝试$(这个)
,这就是问题的重点:那么
$(这个)
指的是什么?使用
console.log($(this))进行尝试他不懂如何使用
$(this)
,这就是问题的重点:PYou以几秒钟的优势击败了我,但他非常鼓励用代码进行解释,给提问者一些上下文和推理。看,投反对票?哇!没想到这么简单的问题需要解释。我没有投你反对票,但可能是谁投了我的意见。毕竟,您仍然有可用的代码。@ArtyomNeustroev感谢您的回答,但当我不得不选择一个回复时,由于两个回复都是相同的,所以我在其中的一个上打了一个解释。事实上,有了解释,代码总是好得多。你比我快了几秒钟,但你如此强烈地鼓励用代码解释,给提问者一点上下文和推理。看,投反对票?哇!没想到这么简单的问题需要解释。我没有投你反对票,但可能是谁投了我的意见。毕竟,您仍然有可用的代码。@ArtyomNeustroev感谢您的回答,但当我不得不选择一个回复时,由于两个回复都是相同的,所以我在其中的一个上打了一个解释。事实上,有了解释,代码总是好得多。@Manolis Tagging这样你就会收到以前的评论的通知。@xdumain这太奇怪了,我昨天接受了这个答案,今天就取消了标记。。。weird@Manolis标记以便通知您之前的评论。@xdumain这太奇怪了,我昨天接受了这个答案,今天取消了标记。。。奇怪的
 <input type="button" class="box" id="someID" value="Click this box" />
$('.box').click(function() {

    var test = $(this).attr('id');
    alert('Here is the ID for the element on which you clicked: ' + test);

});