Javascript 高亮显示表中的选定行

Javascript 高亮显示表中的选定行,javascript,jquery,Javascript,Jquery,我有一个html格式的表格 <table> <tr> <td> <button onclick="someFunction()"> </td> <td>data</td> </tr> <tr> <td> <button onclick="someFunction()"> </td>

我有一个html格式的表格

<table>
  <tr>
    <td>
     <button onclick="someFunction()">
    </td>
    <td>data</td>
  </tr>
  <tr>
    <td>
     <button onclick="someFunction()">
    </td>
    <td>data</td>
  </tr>
  <tr>
    <td>
     <button onclick="someFunction()">
    </td>
    <td>data</td>
  </tr>
</table>

数据
数据
数据
每一行都有一个动态id,下面是我的问题我想突出显示按下按钮的表格的当前行

如何实现它?

在jquery中使用
最近()
选择父级

HTML 如果要使用“最佳实践”,请删除所有内联处理程序。试试这个:

$("button.someClass").click(function () {
    $("tr.highLightClass").removeClass("highLightClass"); // remove class if it is having someone
    $(this).closest("tr").addClass("highLightClass"); // here selected row

});
在jquery中使用
closest()
选择父级

HTML 如果要使用“最佳实践”,请删除所有内联处理程序。试试这个:

$("button.someClass").click(function () {
    $("tr.highLightClass").removeClass("highLightClass"); // remove class if it is having someone
    $(this).closest("tr").addClass("highLightClass"); // here selected row

});

一个好的方法是像这样更改标记

<table id="mytable">
    <tr>
        <td><button>click</button></td>
        <td>data</td>
    </tr>
    <tr>
        <td><button>click</button></td>
        <td>data</td>
    </tr>
    <tr>
        <td><button>click</button></td>
        <td>data</td>
    </tr>
</table>
然后


演示:

一个很好的方法是像

<table id="mytable">
    <tr>
        <td><button>click</button></td>
        <td>data</td>
    </tr>
    <tr>
        <td><button>click</button></td>
        <td>data</td>
    </tr>
    <tr>
        <td><button>click</button></td>
        <td>data</td>
    </tr>
</table>
然后


演示:

Onclick已经过时,是一种非常糟糕的做法。。将类/id添加到选择器

<table>
<tr><td><button class="clickMe"></td><td>data</td></tr>
</table>
为什么要在上使用


如果您的表是动态生成的,或者行是动态添加的,那么您也应该关注新的动态元素。

Onclick已经过时,是一种非常糟糕的做法。。将类/id添加到选择器

<table>
<tr><td><button class="clickMe"></td><td>data</td></tr>
</table>
为什么要在上使用


如果您的表是动态生成的,或者行是动态添加的,那么您也应该关注新的动态元素。

从您的问题中,我了解到以下几点:当您单击表中的按钮时,您希望突出显示相应的

下面是一个JSFIDLE演示我的答案:

基本上,使用事件对象检索目标节点(按钮),然后是该节点的父节点(代码),然后是该节点的父节点(代码)。然后使用任何你想改变样式的方法

代码:

按钮功能调用:


希望这对您有所帮助。

从您的问题中,我了解到以下几点:当您单击菜单中的按钮时,您希望突出显示相应的

下面是一个JSFIDLE演示我的答案:

基本上,使用事件对象检索目标节点(按钮),然后是该节点的父节点(代码),然后是该节点的父节点(代码)。然后使用任何你想改变样式的方法

代码:

按钮功能调用:


希望这有帮助。

除了上面的代码外,还可以通过css@RahulPatil对不起,我误解了发送信息给你,无论如何,谢谢你comment@Downvoters除了上面的代码之外,还可以通过添加的类来评论你的否决票吗css@RahulPatil对不起,我误解了给你发消息,无论如何,谢谢你的帮助comment@Downvoters请注意对您的否决票发表评论。此代码是一种更好地响应OP的方法。此代码是一种更好地响应OP的方法。您的真实代码是否正在关闭
?您的真实代码是否正在关闭
<table>
<tr><td><button class="clickMe"></td><td>data</td></tr>
</table>
$('body').on("click", ".clickMe", function(){
    var that = this;
    that.closest("tr").addClass("highlightMe");
});
function someFunction(e) {
    e.target.parentNode.parentNode.style.backgroundColor = "blue";
}