我正在寻找通过webgrid呈现的HTML表格中的文本。我想要的文本位于div
内,类productID
。我的起始参考点位于同一行,但最后一个td
位于类span2
。我正在尝试使用jQuery的closest()方法,但是我没有得到任何返回值。
请参阅下面的部分渲染HTML和我的jQuery函数:
HTML:
<tr>
<td class="span1"><div class="productID">1</div></td>
<td class="span2">Listing</td>
<td class="span2">Full Districtution</td>
<td class="span2">$1,350.00</td>
<td class="span2">2016-01-01</td>
<td class="span2"><div title="This is my brand new title!" data-original-title="" class="priceToolTip">2016-04-30</div></td>
<td><a href="/product/AddOrEditProduct?productID=1">Select</a></td>
</tr>
jQuery的:
$(".priceToolTip").mouseover(function () {
var row = $(this).closest("span1").find(".productID").parent().find(".productID").text();
console.log("Closest row is: " + row);
});
答案 0 :(得分:2)
.closest()
方法在祖先中查找匹配项。因此,您可以使用它来抓取tr
,然后像这样查找.productID
:
var productID = $(this).closest('tr').find('.productID').text();
或者:
var productID = $(this).parent().find('.productID').text();
或者:
var productID = $(this).siblings('.span1').find('.productID').text();
答案 1 :(得分:1)
.span1
不是.priceToolTip
中最接近的元素。使用closest("tr").find(".span1 .productID")
,如下所示。
$(".priceToolTip").mouseover(function () {
var row = $(this).closest("tr").find(".span1 .productID").text();
console.log("Closest row is: " + row);
});