jQuery:如果您不知道该类,在哪里或在哪个父级下,该如何找到它?

时间:2019-04-12 09:52:37

标签: jquery

我曾经使用过$(this).parent().next().find('.class').doThings();之类的技术,并且运行良好。现在,我面临的问题是,我正在寻找一个在表中生成的元素-但不是在固定的列或行中生成的(因此它可以在第一列,最后一行或介于两者之间的任何位置)< / p>

我要查找的输入字段具有生成的ID

我知道实际表的ID,而且我正在寻找的元素始终与$(this)所指的表在同一行中。有什么办法可以在我的未知元素上使用doThings()类?

我正在使用的表如下所示:

this->触发并启动我的jquery的按钮

elpos{1-4}->元素的所有可能位置

+--------+--------+--------+--------+--------+
+ thead  | thead  | thead  | thead  | thead  |
+--------+--------+--------+--------+--------+
+ elpos1 | elpos2 | elpos3 | elpos4 | this   |
+--------+--------+--------+--------+--------+

3 个答案:

答案 0 :(得分:1)

只是看起来不太好。如果您知道要查找的元素在表#table中,请使用ID作为根元素开始搜索:

$('#table').find('.class');

答案 1 :(得分:0)

我不清楚您要实现的目标,但是此演示演示了如何使用jQuery在单击的按钮的同一行中找到特定元素。希望这会给您足够的帮助。

$("#myTable").on("click","button",function(e){
  e.preventDefault();
  $button = $(this);
  $button.parents("tr").find(".me").css("color","red");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="myTable">
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
<th>col4</th>
<th>col5</th>
</tr>
<tr>
<td><span class="me">elem</span></td>
<td><span>elem</span></td>
<td><span>elem</span></td>
<td><span>elem</span></td>
<td><button>button</button></td>
</tr>
<tr>
<td><span>elem</span></td>
<td><span>elem</span></td>
<td><span>elem</span></td>
<td><span class="me">elem</span></td>
<td><button>button</button></td>
</tr>
<tr>
<td><span>elem</span></td>
<td><span>elem</span></td>
<td><span class="me">elem</span></td>
<td><span>elem</span></td>
<td><button>button</button></td>
</tr>
<table>

答案 2 :(得分:0)

也许您应该尝试:

var element = $(this)
  .parent() //td
  .parent() //tr
  .find('.my-class');