在 jquery 中单击时提醒按钮的 src

问题描述 投票:0回答:2

这是我的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>
jquery url var src attr
2个回答
1
投票

问题是您的锚标签

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


1
投票

我的猜测是你的这超出了范围。

尝试将范围传递到您的函数中,如下所示:

$(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>

© www.soinside.com 2019 - 2024. All rights reserved.