我试图在单击时获取具有类 i_search
的同级的值。
<tr>
<td>12</td>
<td class="request">24</td>
<td>36</td>
<td><a class="i_search" href="javascript:;" title="Detalle">btn</a></td>
</tr>
<tr>
<td>6</td>
<td class="request">12</td>
<td>18</td>
<td><a class="i_search" href="javascript:;" title="Detalle">btn</a></td>
</tr>
<tr>
<td>3</td>
<td class="request">6</td>
<td>9</td>
<td><a class="i_search" href="javascript:;" title="Detalle">btn</a></td>
</tr>
这是我的 jQuery:
$(".i_search").on("click", function(event){
event.preventDefault();
var numRos = $(this).find(".request:first").val();
});
console.log(numRos);
但它显示null
最佳答案
您有两个选择,第一个:
var numRos = $(this).closest('tr').find('.request').text();
或者:
var numRos = $(this).parent().siblings('.request').text();
val()
仅适用于交互式表单元素,您想要的是 <td>
的文本,所以text()
应该使用它来代替。
jQuery 中的 Getters 将仅返回与选择器匹配的第一个元素的文本(在本例中为文本)。在你的情况下只有一个,所以它会正常工作。
引用文献:
-
closest()
. -
find()
. -
parent()
. -
siblings()
. -
text()
.
关于javascript - 如何获取特定的同级值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25899408/