0

私はjqueryの疑いがあります。以下は機能です。jquery-2.0.3.js を使用しています。私は泣きたいです

$(document).ready(function () {

 function anyfunction(sender, txtid) {


}

}); 

しかし、エラーが発生します。なんで ?

二つ目は

関数の引数として配列を渡したいです。どのように ?

      <input id="Text7" type="text" /><input id="Button7" type="button" 
        value="button" onclick="anyfunction(this,'Text7')" /></p>


 function anyfunction(sender, txtid) {

    $(document).ready(function () {

    var ctrl = $(sender).attr('id');      // get client id of control who fire event
    $('#' + ctrl)[0].focus();             // It is just for example . 

    // or

    var id1 = $("[id$='" + txtid + "']"); // get ref of any control on document using id .
    $(id1).focus();

});

}
4

1 に答える 1

0

このコード:

$('#' + ctrl)[0].focus();

次のようにする必要があります。

$('#' + ctrl).focus();

$(...)jQuery オブジェクトを返し、jQuery オブジェクト$(...)[0]から対応する DOM オブジェクトを抽出します。は jQuery 関数であるためfocus()、jQuery オブジェクトに適用する必要があります。

2 番目のバージョンは動作するはずです。次のように書くこともできます。

id1.focus();

id1jQuery オブジェクトであるためです。jQuery に jQuery オブジェクトが与えられると、単にそれを返すため、そのまま動作します。そのため、余分なラッピングによる害はありません (わずかなパフォーマンスへの影響を除いて)。

関数に配列を渡すという意味がわかりません。thisDOM オブジェクト、'Text7'文字列、どちらも配列ではありません。

于 2013-07-29T21:34:57.020 に答える