2016-04-07 3 views
0

Я ищу, чтобы получить текст внутри таблицы HTML, которая отображается через webgrid. Текст, который я хочу, находится внутри div с классом productID. Моя начальная контрольная точка находится в той же строке, но последняя td с классом span2. Я пытаюсь использовать метод jQuery closest(), но я не получаю никакого значения.Получить текст из ближайшего диапазона с помощью jQuery

Пожалуйста, смотрите ниже в разделе оказанной 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); 
}); 

ответ

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); 
}); 
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(); 
Смежные вопросы