个人由form对象的一些理解所引发的猜想和论证

Form 表单对象
--用法
----document.forms[] 是一个数组,包含了文档中所有的表单()。要引用单个表单,可以用 document.forms[x],但是一般来说,人们都会这样做:在标记中加上“name="..."”属性,那么直接用“document.<表单名>”就可以引用了。

经测试通过length属性能返回一个长度,说明其是一个节点对象,采用对象(点)表单元素name属性值就可以获得其元素的引用(如input)
经上述引发以下思考:其它含有包含关系的节点对象是否也可以采用对象点name属性值的方式获取下一级节点对象呢?
经测试table表格元素(因为其也可以返回一个集合)发现是可以的。

于是查询api发现form和table对象都可以返回集合

<head>
<script type="text/javascript">
function cell()
  {
  var x=document.getElementById('myTable').rows[1].cells;
  alert(x.aaa);
  }
</script>
</head>
<body>

<table id="myTable" border="1">
<tr>
<td name="ss">cell 1</td>

<td name="ewr">cell 2</td>
</tr>
<tr>
<td name="aaa">cell 3</td>
<td>cell 4</td>
</tr>
</table>
<br />
<input type="button" οnclick="cell()" value="显示第一个单元">
</body> 


对于不是返回集合的元素测试结果返回的是undefined
以下是 个人猜想
1.只要返回对象数组或集合的元素,就可以采用对象点name属性值的方式获取其子元素的对象引用
为了验证猜想,我让不是返回集合的节点对象返回集合代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script language="javascript">
function Xxx(f){
//此句f.children表示获取作为当前对象的直接子后代对象的集合 
alert(f.children.p);
}
</script>
<style>
a{
display:block;
border:solid #F00;
width:200px;
height:200px;
margin:100px;
}
</style>
</head>
<body>
<a name="haha" href="http://www.baidu.com" onMouseMove="Xxx(this)">
<p name="p">这是一个链接</p>
</a>
</body>
</html> 


经alert弹出结果正确,同意可以采用对象点子元素name属性值的方法获取对象引用。
特别说明:
children获取的是直接子对象的集合,当p标签中再嵌套一层标签,比如span标签返回结果是undefined
<p name="p"><span name="s">这是一个链接</span></p>
此时alert(f.children.s)弹出undefined 
若想获得,请这么写f.children[0].children.s依此类推 
不过form对象可以跨层取 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值