簡體   English   中英

在JavaScript代碼中顯示this.value未定義消息

[英]this.value undefined message showin in javascript code

changeText1(id)顯示未定義的錯誤,我需要錨標記屬性中的值

 function changeText(id) { id.innerHTML = "hii"; } function changeText1(id) { var idq = this.value; id.innerHTML = idq; } 
 <!DOCTYPE html> <html> <body> <h1 onclick="changeText(this)">Click on this text!</h1> <h1><a onclick="changeText1(this)" value="123">Click on this text!</a></h1> </body> </html> 

您需要使用getAttribute才能訪問非標准屬性。

此功能與this交接值(在函數中為id結合使用。

為了更好地理解代碼,我建議將此變量重命名為element

 function changeText(element) { element.innerHTML = "hii"; } function changeText1(element) { element.innerHTML = element.getAttribute('value'); } 
 <h1 onclick="changeText(this)">Click on this text!</h1> <h1><a onclick="changeText1(this)" value="123">Click on this text!</a></h1> 

為了從錨標簽獲得價值,您必須像這樣

 function changeText1(param) { var val = param.getAttribute('value'); // ATTRIBUTE-NAME param.innerHTML = val; } 

請使用以下函數更新您的changeText1函數。 可能您無法直接獲取任何屬性。

function changeText1(id) { 
    var idq = id.getAttribute("value");
    id.innerHTML = idq;
}

value不是錨元素的有效屬性。 如果要在元素中存儲應用程序數據,請使用data-*屬性,然后使用dataset屬性訪問它。

 function changeText(id) { id.innerHTML = "hii"; } function changeText1(id) { var idq = id.dataset.value; id.innerHTML = idq; } 
 <!DOCTYPE html> <html> <body> <h1 onclick="changeText(this)">Click on this text!</h1> <h1><a onclick="changeText1(this)" data-value="123">Click on this text!</a></h1> </body> </html> 

另外,您在this.value應該為id.value時編寫了此id.value 但是解決這個問題不能解決問題。

沒有用於定位標記的稱為value屬性。 您可以使用data來存儲值。其次,您可以將單個功能用於這兩個任務。

 function changeText(e) { // get the current element which is clicked let elem = e.target; // check if the current element have any dataset with value as a key if (elem.dataset.value) { elem.innerHTML = elem.dataset.value; return; } elem.innerHTML = "hii"; } 
 // event is the event object // value in data-value can be replaced by anything,but prefix data- is necessary <h1 onclick="changeText(event)">Click on this text!</h1> <h1><a onclick="changeText(event)" data-value="123">Click on this text!</a></h1> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM