我正在使用 nearest(),它导航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>
提前致谢!
答案 0 :(得分: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);
});
});
答案 1 :(得分:1)
您需要this
,而不是self
:
var $self = $(this);
答案 2 :(得分:1)
最有可能的是,var $self = $( self );
应该是var $self = $( this );
答案 3 :(得分:0)
以下行中的'self'是什么?
var $self = $( self );
它应该是这样吗?
v$('.manage').click(function(event) {
// find the row we are in
var $self = $( event.target );