javascript - jquery 在另一个表之前选择表中的一个元素

标签 javascript jquery

我有一个表,我在其中添加一些行

....
<td><strong class="has-text-success thisState">Connect</strong></td>
<td><a class="is-danger buttonDisconnect"><strong>Disconnect</strong></a></td>
....

我需要通过点击 .buttonDisconnect ... 来选择 .thisState 我尝试了这个但没有成功

$('#table').on('click', ".buttonDisconnect", function () {
    .... disconnection code
    $(this).html("<strong>Connect</strong>");
    $(this).toggleClass("buttonDisconnect is-danger buttonConnect has-text-success");
    // toggle state
    $(this).prev(".thisState").text("Disconnect");
    $(this).prev(".thisState").toggleClass("has-text-danger has-text-success");
});

最佳答案

如果将选择器传递给.prev ,仅当前一个元素与选择器匹配时,才会选择前一个元素。但您传递的选择器是针对前一个元素的 - 它与前一个元素不匹配。

另一个问题是单击的元素是 <a> ,而不是 <td > - 导航到父级 <td>在转到上一个之前。

无条件导航到上一个元素并使用.children通过选择器转到其子级过滤,然后执行您需要执行的操作:

const $prevStrongState = $(this).parent().prev().children('.thisState');
$prevStrongState.text("Disconnect");
$prevStrongState.toggleClass("has-text-danger has-text-success");

$('#table').on('click', ".buttonDisconnect", function() {
  $(this).html("<strong>Connect</strong>");
  $(this).toggleClass("buttonDisconnect is-danger buttonConnect has-text-success");
  const $prevStrongState = $(this).parent().prev().children('.thisState');
  $prevStrongState.text("Disconnect");
  $prevStrongState.toggleClass("has-text-danger has-text-success");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="table">
  <tr>
    <td><strong class="has-text-success thisState">Connect</strong></td>
    <td><a class="is-danger buttonDisconnect"><strong>Disconnect</strong></a></td>
  </tr>
</table>

关于javascript - jquery 在另一个表之前选择表中的一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60576835/

相关文章:

javascript - 如果选择了父级,则选择子级单选按钮,反之亦然

php - Wordpress - 如何通过 AJAX 获取更多帖子?

javascript - 从 Firebase 数据库中删除 ref 的子级

javascript - 浏览器错误在输入时显示时间文本

javascript - 如何查找一个对象值是否包含在另一个对象值中

c# - 如何选择特定图像并从特定网址保存? (内有说明)

javascript - 使用 html 选择选项分配 javascript 变量

javascript - 运行存储为 jQuery 对象的脚本

javascript - 在 jQuery 属性等于值选择器中使用变量作为值

javascript - SVG 图表 - 我如何调整 svg 的高度,以便所有标签自动适合内部