手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Javascript访问html页面的控件的方法详细分析第1/2页
Javascript访问html页面的控件的方法详细分析第1/2页
摘要:下面切入正题:访问控件的主要对象是:document对象。分别对应当前文档所有的(子对象)个人观点。并且已经提供的几个主要方法来访问对象。1...

下面切入正题:

访问控件的主要对象是:document对象。分别对应当前文档所有的(子对象)个人观点。并且已经提供的几个主要方法来访问对象。

1.document.getElementById

2.document.getElementsByName

3document.getElementsByTagName

4document.all

下面我主要谈谈以上几个方法的具体用法:

一.首先我来谈谈document.getElementById的用法。

Varobj=document.getElementById(“ID”)根据指定的ID属性值得到对象。返回id属性值等于ID的第一个对象的引用。假如对应的为一组对象,则返回该组对象中的第一个。

<inputname=”a”type=”text”id=”b”/>

<inputname=”b”type=”text”id=”a”/>

<inputtype=”button”name=”submint1”value=”text1”onclick=:”alert(document.getElementById(“b”)/>)”<inputtype=”button”name=”submint2”value=”text2”onclick=”alert(document.getElementById(“a”)/>)”我在IE中测试了上面代码,在第一个文本框中输入1,在第二个文本中输入2,然后点击两个按钮,大吃一斤。结果两个按钮都返回了第一个文本框的值。这说明了IE执行document.getElementById(elementName)的时候,返回的是第一个name或者id等于elementName的对象,并不是根据ID来查找的。

但相反我在firefox中就不存在这个问题。Firefox执行document.getElementById(elementName)的时候只能查找ID等于elementName对象,如果不存在在返回null.

二.下面看看document.getElementsByName的用法。

Varobj=document.getElementsByName(“Name”)根据Name属性的值获取对象集合。返回name等于指定Name对象的集合。注意这里返回的是一个集合,包括只有一个元素的情况也是一个集合。

document.getElementsByName("name")[0?1?2?3?....]这样来获取某一个元素。注意javascript中的集合取一个值可以用[],也可以用(),(本人测试通过,但没有资料这么写)。

如:

<script>

functionprop()

{

varobjs=document.getElementsByName("a");

alert(objs(0).value);//或者可以alert(objs[0].value)也正确的。

}

</script>

<inputtype="text"name="a"id="b"value="thisistextbox"/>

<inputtype="button"value="testing"onclick="prop()"/>

三.Document.getElementsByTagName的用法:

Varojbs=document.getElementsByTagName(“Tag”)根据基于指定元素名称对象的集合。返回Tag属性等于指定Tag标记的集合。这里也返回的是一个集合。(同上)

四.document.all用法。

document.all是页面内所有元素的一个集合。例如:

document.all(0)表示页面的第一个元素。

Document.all(“txt”)表示页面上id或name等于txt的所有对象的单个元素和集合元素。

如果页面上的id或name等于txt只有一个元素(包括name和id情况),那么document.all()的结果就只是一个元素,反之就是获取一个集合。(综合了document.getElementById和document.getElementsByName的各自的特点)。

也可以这样写:document.all.txt也是一样。

例如:

<inputname=aaavalue=aaa>

<inputid=bbbvalue=bbb>

<scriptlanguage=Jscript>

alert(document.all.aaa.value)//根据name取value

alert(document.all.bbb.value)//根据id取value

</script>

代码2:

但是常常name可以相同(如:用checkbox取用户的多项爱好的情况)

<inputname=aaavalue=a1>

<inputname=aaavalue=a2>

<inputid=bbbvalue=bbb>

<scriptlanguage=Jscript>

alert(document.all.aaa(0).value)//显示a1

alert(document.all.aaa(1).value)//显示a2

alert(document.all.bbb(0).value)//这行代码会失败

</script>

理论上一个页面中的ID是互不相同的,如果出现不同的tags而有相同的id的话,document.all.id就会失败,就象这样:<inputid=aaavalue=a1>

<inputid=aaavalue=a2>

<scriptlanguage=Jscript>

alert(document.all.aaa.value)//显示undefined而不是a1或者a2

</script>

所以说遇到了这种情况的话用下面这种写法:

<inputid=aaavalue=aaa1>

<inputid=aaavalue=aaa2>

<inputname=bbbvalue=bbb>

<inputname=bbbvalue=bbb2>

<inputid=cccvalue=ccc>

<inputname=dddvalue=ddd>

<scriptlanguage=Jscript>

alert(document.all("aaa",0).value)

alert(document.all("aaa",1).value)

alert(document.all("bbb",0).value)

alert(document.all("bbb",1).value)

alert(document.all("ccc",0).value)

alert(document.all("ddd",0).value)

</script>

另外document.all可以判断浏览器的种类是否是IE,

document.all---------针对IE

document.layers------------针对Netscape

这两个集合.all只在ie里面有效,layers只在nc里面有效

所以就可以通过这个方式来判断不同的浏览器。

当前1/2页12下一页阅读全文

【Javascript访问html页面的控件的方法详细分析第1/2页】相关文章:

JavaScript获得url查询参数的方法

javascript带回调函数的异步脚本载入方法实例分析

JavaScript操作Cookie方法实例分析

javascript实现炫酷的拖动分页

javascript常用的方法分享

JavaScript模版引擎的基本实现方法浅析

JavaScript中使用Math.PI圆周率属性的方法

javascript的函数第1/3页

JavaScript中length属性的使用方法

Javascript 小技巧全集第1/4页

精品推荐
分类导航