1

JQueryを使用して要素オブジェクトを取得できることを知っている人はいますか?

例:要素オブジェクトを関数に渡す次のコードがあります

HTML:

<table>
    <tr>
      <td>
          <input type='text' ID='test' onchange='test(this)' />
          <input type='text' ID='test_1' onchange='test(this)' />
          <input type='text' ID='test_2' onchange='test(this)' />
          <input type='text' ID='test_3' onchange='test(this)' />
      </td>
    </tr>
</table>

JavaScript:

function test(obj) {
    var parent = $($($(obj).parent()).parent()).parent();
}

html ( onchange='test(this)' ) からオブジェクトを渡す代わりに、入力 ID を使用して関数内で jquery を使用してオブジェクトをキャプチャする方法はありますか?

4

4 に答える 4

1

要素が存在した後 (たとえば、onload または本文の最後) にスクリプトを実行する限り、onchangeHTML から属性を完全に削除して、次のことを行うことができます。

$('#test').change(function(){
    // `this` refers to the input element
    var parent = $(this).parents().eq(2); //.parents needs backets
});
于 2013-08-27T23:21:21.003 に答える
1

編集および更新

ああ、私は今あなたを理解していると思います....

HTML

<table>
    <tr>
      <td>
          <input type='text' ID='test' />
      </td>
    </tr>
</table>

jQuery

$(function() {
    var obj;
    $('#test').on('change',function() {
       obj = this; // from this point on, obj is your INPUT
       var v = this.val(); // v is now the value of the INPUT (what was typed)
       obj = this.closest('table'); // obj is now the TABLE
       obj = this.closest('tr'); // obj is now the ROW
    });
});
于 2013-08-27T23:21:36.523 に答える
0

次のように、「id」プロパティを渡して、javascript/DOM 要素を取得できます。

function test(obj) {
  var parent = $(obj).parent().parent().parent()[0];
  //do something here
}
于 2013-08-27T23:17:39.160 に答える