这是我的jquery代码;但这给了我(未定义)。
$(document).ready(function(){
$('.items > tbody > tr').click(function() {
var src = $(this).find('a[title="View"]').attr('src');
alert (src)
});
});
HTML代码是:
<table class="items">
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<a title='View' src="main.php"></a>
<a title='find' src="index.php"></a>
</tr>
</tbody>
答案 0 :(得分:0)
我的猜测是您的范围超出范围。
尝试像这样将范围传递给函数:
$(document).ready(function(){
$('.items > tbody > tr').click(() => {
var src = $(this).find('a[title="View"]').attr('src');
alert (src)
});
});
tr{
background:#ff8800;
height:40px;
}
table{
width:100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="items">
<tbody>
<td></td>
<td></td>
<td></td>
<a title='View' src="main.php"></a>
<a title='find' src="index.php"></a>
<td></td>
<td></td>
</tbody>
答案 1 :(得分:0)
问题是您的定位标记<a>
不属于<tr>
系列。您必须将它们带入<td>
,以便它们成为<tr>
$(document).ready(function(){
$('.items > tbody > tr').click(function() {
var src = $(this).find('a[title="View"]').attr('src');
alert (src)
});
});
tr{
background:#ff8800;
height:40px;
}
table{
width:100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="items">
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<a title='View' src="main.php"></a>
<a title='find' src="index.php"></a>
<td>
</tr>
</tbody>