我有兩個 div
<div class="maca">
<input type="hidden" value="1">
<div onclick="removeInput(nearest input type hidden)">Remove</div>
</div>
<div class="maca">
<input type="hidden" value="1">
<div onclick="removeInput(nearest input type hidden)">Remove</div>
</div>
我想將我們單擊的那個div的隱藏的最近輸入型別的值作為引數發送
uj5u.com熱心網友回復:
我不是 100% 確定最近的意思是什么,但這樣你就可以將輸入隱藏在 div 中。順便說一句,您也可以將其element.parentNode.querySelector放入 onclick,但我個人更喜歡它來拆分 HTML 和 JS。
function removeInput(element){
let value = element.parentNode.querySelector("input[type='hidden']").value;
console.log(value);
}
<div class="maca">
<input type="hidden" value="1">
<div onclick="removeInput(this)">Remove</div>
</div>
<div class="maca">
<input type="hidden" value="5">
<div onclick="removeInput(this)">Remove</div>
</div>
uj5u.com熱心網友回復:
您可以將事件作為引數發送到 javascript 函式,然后通過 parentNode 查找輸入。這不是對您的問題的字面解釋,因為忠實地“最近”元素相當復雜,可能不是您要尋找的。
function removeInput(e) {
const nearestInput = e.target.parentNode.querySelector("input[type='hidden']");
console.log(nearestInput);
}
<div class="maca">
<input type="hidden" value="1" />
<div onclick="javascript:removeInput(event)">Remove</div>
</div>
<div class="maca">
<input type="hidden" value="1" />
<div onclick="javascript:removeInput(event)">Remove</div>
</div>
uj5u.com熱心網友回復:
您不應該使用行內事件偵聽器,這被廣泛認為是不好的做法。
相反,使用addEventListener添加點擊偵聽器,并使用以下命令查找輸入(假設您的標記結構已修復,如您所示)previousElementSibling:
for (const remover of document.querySelectorAll('.remove-input')) {
remover.addEventListener('click', () => remover.previousElementSibling.remove(), { once: true });
}
<div class="maca">
<input type="hidden" value="1" />
<div class="remove-input">Remove</div>
</div>
<div class="maca">
<input type="hidden" value="1" />
<div class="remove-input">Remove</div>
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/465470.html
標籤:javascript html
上一篇:CSS高度使滾動條低于頁面/螢屏
