使用jQuery从最近的span获取文本

时间:2016-04-07 18:21:53

标签: javascript jquery html dom

我正在寻找通过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);
});

2 个答案:

答案 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);
});