![](/img/trans.png)
[英]Native JavaScript select onchange this.value undefined
[英]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.