javascript - JQuery通过单击同一行上的按钮获取第一个td

标签 javascript jquery html

这可能是一个简单的问题,但是我尝试了一切,但没有成功。

我想单击第三个 td 上的按钮来获取第一个 td 的文本。 HTML 代码如下所示:

<table>
    <tr>
        <td>Name</td>
        <td>Age</td>
        <td>Btton</td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>21</td>
        <td><input type="button" id="b" value="alert" onclick="alert1();" /></td>
    </tr>
</table>

正如我提到的,我尝试了不同的事情,例如

function alert1() {
    alert($(this).closest("tr").first().text());
}

但是,它会发出空框警报。不确定我做错了什么。

感谢您的宝贵时间。

最佳答案

您可以使用.find ,并将您单击的元素传递给该函数。

function alert1(elm) {
    alert($(elm).closest("tr").find("td:first-child").text());
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table>
    <tr>
        <td>Name</td>
        <td>Age</td>
        <td>Btton</td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>21</td>
        <td><input type="button" id="b" value="alert" onclick="alert1(this);" /></td>
    </tr>
</table>

或者您可以使用event listener在 jQuery 中

$("#b").on('click', function() {
  alert($(this).closest("tr").find("td:first-child").text());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
    <tr>
        <td>Name</td>
        <td>Age</td>
        <td>Btton</td>
    </tr>
    <tr>
        <td>Tom</td>
        <td>21</td>
        <td><input type="button" id="b" value="alert" /></td>
    </tr>
</table>

关于javascript - JQuery通过单击同一行上的按钮获取第一个td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46300015/

相关文章:

javascript - 如何对一个带有 id 的空 div 求和?

javascript - 如何使用 jQuery 获取重复表单中的字段值?

javascript - 如何使用 div 按钮而不是滚动条滚动

javascript - 如何使用BitcoinJS设置交易费用金额?

javascript - 即使在 node_modules 中也找不到 ag-grid-vue 模块

javascript - 如何从 jquery 获取内联样式边框颜色?

javascript - 允许在 JQUERY 类中单击一次

javascript - 在单个页面上动态创建完整的一对多关系

html - 我需要解释 nth-of-type 是如何工作的

html - 删除加载页面上的一些 <div>