1

ユーザーがテーブルのセルをクリックすると、次を使用してテーブルの行を反復処理したいと思います。

var table = $(this).closest('table');

$(table+" tr").each(function(){
        console.log($(this).text());
    });

ただし、次のエラーが表示されます。

  uncaught exception: Syntax error, unrecognized expression: [object Object]

私は何を間違っていますか?

4

2 に答える 2

1

tablejQuery コレクションです。その toString メソッドは を返します[object Object]。文字列をオブジェクトに連結すると、その toString を使用して結果の文字列が作成されます。

"[object Object] tr" は有効なセレクタ式ではありません。.findjQuery メソッドの 2 番目の引数 (セレクターのコンテキスト) としてコレクションを使用または指定して、jQuery コレクションの子孫を選択できます。

.each反復には必ずしも必要ではないことに注意してください。それはあなたが何をする必要があるかによって異なります。

console.log($(this).closest("table").find("tr").text());

http://jsfiddle.net/3MDgy/1/

于 2013-08-29T20:14:23.953 に答える