通过单击jquery中的按钮来提醒src

时间:2019-02-03 08:00:54

标签: jquery url var src attr

这是我的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>

2 个答案:

答案 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>