当我有一个参数对象时,为什么我需要使用$?

时间:2013-03-29 19:38:03

标签: jquery asp.net

我最近在jquery进行了实验,想学习如何将文本框中的对象发送到我的脚本。例如:

   <asp: textbox id="box1" onchange="javascript: test(this);" runat="server"></asp:TextBox>

脚本:

function test(obj){

if(parseInt(obj.val())){
// code
}
}

这不起作用!我后来发现我必须使用“$”符号来完成这项工作,如下所示:

$(OBJ).VAL()

为什么呢?我想我已经在参数中有了我需要的对象,为什么我需要再次选择它?

谢谢!

4 个答案:

答案 0 :(得分:6)

val是jQuery集合的一种方法,它是将选择器或DOMElement对象传递给$时返回的内容。要在不使用jQuery的情况下访问该值,请使用DOM公开的value属性。

function test(obj){

    if(parseInt(obj.value){
    // code
    }
}

答案 1 :(得分:1)

您发送到函数中的this(并在函数中用作obj)只是一个javascript对象。 $()将它变成了一个jQuery对象,它将所有额外的功能添加到jQuery提供的对象中(包括val()方法)。

答案 2 :(得分:0)

this是一个DOM元素。

$(this)是一个jQuery对象。

您只能在jQuery个对象上调用jQuery个方法。

答案 3 :(得分:0)

$是jQuery快捷方式。因此,要访问jQuery库提供的功能,您需要将 Javascript对象“转换”为 jQuery对象