0

我目前正在使用最接近 ()向上导航 dom 并使用它来查找行元素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而不是this,JavaScript 中没有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 回答