老师好,请检查4-9并答疑,谢谢。
来源:4-9 编程练习
慕桂英1122475
2023-03-29 17:26:36
老师好:请检查代码,经live sever验证代码1是可以实现效果的。
但是我之前尝试用 var btn = document.getElementsByTagName('input'),来选择input标签赋值给btn的时候就不行了,见代码2。 不知道错了在哪里。
代码1:生效
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title>HTML事件</title>
<script>
window.onload = function () {
var btn = document.getElementById("btn");
btn.onclick = function () {
btn.style.cssText= "color: red;"
};
btn.onmouseleave = function () {
btn.style.color = "grey"
};
};
</script>
</head>
<body>
<input type="button" value="点击改变按钮字体颜色" id="btn" />
</body>
</html>代码2:不生效
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title>HTML事件</title>
<script>
window.onload = function () {
var btn = document.getElementsByTagName('input');//为什么通过TagName选择的方式下方改变颜色的函数不生效?
btn.onclick = function () {
btn.style.cssText= "color: red;"
};
btn.onmouseleave = function () {
btn.style.color = "grey"
};
};
</script>
</head>
<body>
<input type="button" value="点击改变按钮字体颜色" id="btn" />
</body>
</html>1回答
好帮手慕久久
2023-03-29
同学你好,第一种方式是对的,第二种方式中,getElementsByTagName获取到的元素是以类似数组的形式存在的:


所以需要利用索引,将具体的dom元素获取到才行:

祝学习愉快!
相似问题