[英]Passing HTML Element Through A Function
我如何通過函數傳遞HTML元素,因為我不想使用ID,所以我想動態創建函數。
這里的焦點沒有意義,但是在我的代碼中卻有意義:
function MyFunction(passedObject) { alert(passedObject.value); passedObject.focus() }
<input onclick="MyFunction(this)">
我不想使用這樣的使用ID的解決方案:
function MyFunction() { alert(document.getElementById("TheInput").value); document.getElementById("TheInput").focus() }
<input id="TheInput" onclick="MyFunction()">
我想你需要這樣的東西
function MyFunction(element) { alert(element.value); element.focus() }
<input onclick="MyFunction(this)" value="Hello World">
您可以使用以下方式在html代中動態定義函數:
<input onclick="function(element) { alert(element.value); element.focus() }(this)" value="Hello World">
一個關鍵部分是函數在函數聲明之后傳遞此函數。 除非單擊該按鈕,否則該功能將不存在。 如果在單擊按鈕之前存在,它將覆蓋先前的聲明。 如果您只想執行函數並且不需要在onclick之外與之交互,則還可以刪除函數名稱並將其作為匿名函數執行。
我認為這是解決方案:無論如何,您都必須使用ID選擇元素,但只能選擇一次。
var input = document.getElementById("TheInput");
function MyFunction(passedObject) {
alert(passedObject.value);
passedObject.focus()
}
var inputElem = document.getElementById("TheInput");
MyFunction(inputElem)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.