在父母之前获取元素

时间:2016-08-27 15:44:36

标签: jquery html

我有以下dom树:

<tr class="tomatch" id="123"></tr>
<tr>
  <td>
    <div>
      <span class="matching"></span>
    </div>
  </td>
</tr>

我将$(this)对象设置为.matching元素,我必须从中获取.tomatch元素。我怎么能这样做?

parent()无法使用,我尝试使用.prev()prevUntil('.tomatch'),但它也不起作用。与.closest('.tomatch').parents('.tomatch')相同。

我该怎么做?我必须在tr父级之前匹配第一个元素,因为这个结构是可重复的。

1 个答案:

答案 0 :(得分:3)

.closest.parents用于查找作为指定元素的祖先的元素,但您想要的元素是祖先的兄弟。因此,您需要分两步完成 - 首先转到祖先,然后从那里转到上一个元素。

$(".matching").click(function() {
  console.log($(this).closest("tr").prev().attr('id'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr class="tomatch" id="123"></tr>
  <tr>
    <td>
      <div>
        <span class="matching">Click here</span>
      </div>
    </td>
  </tr>
</table>