0

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

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

脚本:

function test(obj){

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

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

$(obj).val()

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

谢谢!

4

4 回答 4

6

val是 jQuery 集合的一个方法,当您将选择器或 DOMElement 对象传递给$. 要在不使用 jQuery 的情况下访问该值,请使用valueDOM 公开的属性。

function test(obj){

    if(parseInt(obj.value){
    // code
    }
}
于 2013-03-29T19:39:39.847 回答
1

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

于 2013-03-29T19:40:12.210 回答
0

this是一个 DOM 元素。

$(this)是一个 jQuery 对象。

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

于 2013-03-29T19:40:28.137 回答
0

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

于 2013-03-29T19:43:11.923 回答