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は、セレクターまたは DOMElement オブジェクトを に渡すと返される jQuery コレクションのメソッドです$。jQuery を使用せずに値にアクセスするにはvalue、DOM によって公開されるプロパティを使用します。

function test(obj){

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

関数に送信するthis(および関数内で として使用するobj) は、単なる JavaScript オブジェクトです。は$()それを jQuery オブジェクトに変換し、jQuery が提供するオブジェクト (メソッドを含む) にすべての追加機能を追加しますval()

于 2013-03-29T19:40:12.210 に答える
0

thisDOM要素です。

$(this)jQuery オブジェクトです。

jQueryオブジェクトのメソッドのみを呼び出すことができjQueryます。

于 2013-03-29T19:40:28.137 に答える
0

$ はjQueryへのショートカットです。したがって、jQuery ライブラリが提供する関数にアクセスするには、Javascript オブジェクトjQuery Objectに「変換」する必要があります。

于 2013-03-29T19:43:11.923 に答える