[英]javascript equivalent to jquery closest().find()
<tr>
<td><input type="text" class="rate" oninput="priceChanged(this)"> </td>
<td><input type="text" class="quantity"></td>
<td><input type="text" class="total"> </td>
</tr>
I can find the quantity textbox with jquery-我可以用 jquery 找到数量文本框-
var quantityTextbox = $('.rate').closest('tr').find('.quantity');
I would like to do it now with pure javascript.我现在想用纯 javascript 来做。
I am newcomer in the pure javascript world.我是纯 javascript 世界的新手。 Any idea?
任何想法?
You can use querySelector
& .closest()
for this like:您可以为此使用
querySelector
& .closest()
:
var quantityTextbox = document.querySelector('.rate').closest('tr').querySelector('.quantity') console.log(quantityTextbox.value)
<table> <tr> <td><input type="text" class="rate" oninput="priceChanged(this)"> </td> <td><input type="text" class="quantity" value="10"></td> <td><input type="text" class="total"> </td> </tr> </table>
If you are calling this inside priceChanged()
function, then you can use:如果你在
priceChanged()
function 中调用它,那么你可以使用:
function priceChanged(rate){
var quantityTextbox = rate.closest('tr').querySelector('.quantity')
}
as you are already passing this
inside priceChanged()
function.因为你已经在
priceChanged()
function 中传递this
。
function priceChanged(rate) { var quantityTextbox = rate.closest('tr').querySelector('.quantity') console.log(quantityTextbox.value) }
<table> <tr> <td><input type="text" class="rate" oninput="priceChanged(this)"> </td> <td><input type="text" class="quantity" value="10"></td> <td><input type="text" class="total"> </td> </tr> </table>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.