javascript - 为什么不能用 document.forms 选择标签?
问题描述
是否可以使用 document.forms 获取标签或 div ?
如果是。如何 ?
如果不。为什么 ?
当我尝试时,它给出“未定义”;
示例代码:
<form name="form1">
<div id="div1">
<label id="label1" for="uname">Username: </label>
<input type="text" id="uname" name="username" >
<button id="button1" onclick="func1()" >Okay!</button>
</div>
</form>
<script>
var form=document.forms['form1'];
function func1() {
event.preventDefault(); // -
console.log(form["uname"]); // gives input element
console.log(form["button1"]); // gives buttonn element
console.log(form["label1"]); // undefined
console.log(form["div1"]); // undefined
// I can get them like :
console.log(form["uname"].previousElementSibling); // gives label element
console.log(form["uname"].parentElement); // gives div element
// ...etc
// but, the questions is why I can't with document.forms
}
</script>
解决方案
您不能选择 div 因为 div 不是表单元素的一部分。资源
var form=document.forms['form1'];
function func1() {
event.preventDefault(); // -
console.log(form["uname"]); // gives input element
console.log(form["button1"]); // gives buttonn element
console.log( form["uname"].labels[0] )
console.log(form["div1"]); // cant select div, because div are not form element
// I can get them like :
console.log(form["uname"].previousElementSibling); // gives label element
console.log(form["uname"].parentElement); // gives div element
// ...etc
// but, the questions is why I can't with document.forms
}
<form name="form1">
<div id="div1">
<label id="label1" for="uname">Username: </label>
<input type="text" id="uname" name="username" >
<button id="button1" onclick="func1()" >Okay!</button>
</div>
</form>
推荐阅读
- django - Django:for循环遍历并行进程并存储值并在完成后返回
- google-bigquery - 如何从嵌套表 BigQuery 在嵌套表中插入数据
- c# - 如何从表中填充 DataGrid 列和从其他表 SQL 数据库中填充行 - C#
- php - 您好尝试构建注册页面但没有成功(网络错误),反应本机和 mysql
- python - 如何检查 SQL 服务器中的所有记录,存在于 MySQL 中?
- python - 为什么硒在 manjaro 上不能正常工作(PATH 问题)
- html - iframe 沙箱不尊重多个允许权限
- javascript - 有没有办法将数组发布到 web api 或 mvc 控制器并获取文件以下载结果?
- c# - 按一个元素排序并在同一个 LINQ 查询中返回多个属性
- c# - OpenTK (OpenGL) Lighting:为什么纹理只在对象的内部可见?