下面代码成立,但是当 form name改写成form id或者使用div id,div name时均无法达到效果,麻烦懂的告知下为什么
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
function p(){
document.a.b.disabled=true;
}
</script>
</head>
<body>
<form name="a">
<button name="b" onclick="p()">点击测试</button>
</form>
</body>
</html>
对于name属性来说,只有某些类型的html元素具有类似的方法,比如:form,img,iframe,applet,embed,object等。在这些元素中可以通过全局变量或者document的属性来访问特定name属性的元素;如果相同name属性的有多个元素,则返回一个NodeList的类似只读数组的对象.
https://www.jb51.net/article/65099.htm
规定就是这样 document.a.b 就是 只认form元素和表单元素的name的,规定如此而已.
要通过id访问元素应该用
<script>
function p(){
document.getElementById("b").disabled=true;
//或者document.querySelector("#a #b").disabled=true;
}
</script>
<form id="a">
<button id="b" onclick="p()">点击测试</button>
</form>
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!