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>
答案 0 :(得分:1)
您需要使用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>
答案 1 :(得分:1)
要从定位标记中获取价值,您必须这样做
let x = "1010"
let y = "1100"
let intersection = zip(x, y).filter{ $0 == $1 }
let numberOfMatches = intersection.count
答案 2 :(得分:0)
请使用以下函数更新您的changeText1函数。可能您无法直接获取任何属性。
function changeText1(id) {
var idq = id.getAttribute("value");
id.innerHTML = idq;
}
答案 3 :(得分:0)
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
。但是解决该问题并不能解决问题。
答案 4 :(得分:0)
锚标记没有名为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>