我有以下HTML:
<table>
... some other rows
<tr>
<td>
<input id="Products_0__Quantity" class="product-quantity" type="text" />
</td>
<td>
...Some other columns
</td>
</tr>
... some other rows
</table>
我已将事件处理程序附加到每行中包含的链接。我知道它有效,因为事件处理函数的其他部分功能完全正常。但是这部分不是:
var tr = $(this).closest('tr');
var productQuantity = tr.children('input.product-quantity').val();
在此行之后,productQuantity仍未定义。
有什么问题?
答案 0 :(得分:4)
.children()
方法与.find()
的不同之处在于.children()
只在DOM树中向下移动一个级别,而.find()
可以遍历多个级别以选择后代元素(孙子级)等等。)
代码的
tr.find('input.product-quantity').val()
答案 1 :(得分:1)
请试试这个: -
tr.find('input.product-quantity').val();
而不是Children
答案 2 :(得分:0)
在我看来,$(this)的定义出了问题, 你确定你用$(这个)获得的元素吗?
然而.find()比孩子好。