我曾经使用过$(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 |
+--------+--------+--------+--------+--------+
答案 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');