0

私は現在、domをナビゲートするclosest()を使用しており、これを使用して行要素trを検索していますが、何も取得されていないことを示す空のアラートダイアログが返されているようです。私は何が間違っているのですか?

JavaScript

$(document).ready(function () {
$('.manage').click(function(){
  // find the row we are in
  var $self = $( self );
  var $row = $self.closest( 'tr' );

  // read the id
  var $idCell = $row.find( '.id' );
  var caseId = $idCell.text();

  alert(caseId);

  });
});

HTML:

 <table border="0" class="sortable">
      <tr>
        <th>ID</th>
        <th>Functions</th>
      </tr>
      <?php do { ?>
        <tr>
          <td class="id"><?php echo $row_cases['id'].'-'.$_GET["progress"]; ?></td>
          <td><img src="components/manage.png" width="16" height="16" class="manage">
        </tr>
        <?php } while ($row_cases = mysql_fetch_assoc($cases)); ?>
    </table>

前もって感謝します!

4

4 に答える 4

3

selfの代わりに使用していますが、JavaScriptthisにはありません。selfこれは機能するはずです:

$(document).ready(function () {
     $('.manage').click(function(){
          // find the row we are in
          var $row = $( this ).closest( 'tr' );

          // read the id
          var $idCell = $row.find( '.id' );
          var caseId = $idCell.text();

          alert(caseId);
     });
});
于 2012-04-18T21:18:31.620 に答える
1

あなたが欲しいthis、ではないself

var $self = $(this);
于 2012-04-18T21:17:38.997 に答える
1

ほとんどの場合、var $self = $( self );varであると思われます$self = $( this );

于 2012-04-18T21:17:45.653 に答える
0

次の行の「自己」とは何ですか?

var $self = $( self );

こんな感じでいいの?

v$('.manage').click(function(event) {
    // find the row we are in
    var $self = $( event.target );
于 2012-04-18T21:42:08.713 に答える