getelementsbytagname什么意思

发布时间:2024-01-11 00:20:34 来源:君肯网

WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagName()访问DOCUMENT中的任一个标签:

1、getElementById()

getElementById()可以访问DOCUMENT中的某一特定元素,顾名思义,就是通过ID来取得元素,所以只能访问设置了ID的元素。

比如说有一个DIV的ID为docid:

&ltdiv id=”docid”&gt&lt/div&gt

那么就可以用getElementById(“docid”)来获得这个元素。

&lt!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”

“http://www.w3.org/TR/html4/loose.dtd”&gt

&lthtml&gt

&lthead&gt

&ltmeta http-equiv=”Content-Type” content=”text/htmlcharset=gb2312″&gt

&lttitle&gtById&lt/title&gt

&ltstyle type=”text/css”&gt

&lt!–

#docid{

height:400px

width:400px

background-color:#999}

–&gt

&lt/style&gt

&lt/head&gt

&ltbody&gt&ltdiv id=”docid” name=”docname” onClick=”bgcolor()”&gt&lt/div&gt

&lt/body&gt

&lt/html&gt

&ltscript language=”JavaScript” type=”text/JavaScript”&gt

&lt!–

function bgcolor(){

document.getElementById(“docid”).style.backgroundColor=”#000″

}

–&gt

&lt/script&gt

、getElementsByName()

这个是通过NAME来获得元素,但不知大家注意没有,这个是GET ELEMENTS,复数ELEMENTS代表获得的不是一个元素,为什么呢?

因为DOCUMENT中每一个元素的ID是唯一的,但NAME却可以重复。打个比喻就像人的身份证号是唯一的(理论上,虽然现实中有重复),但名字

重复的却很多。如果一个文档中有两个以上的标签NAME相同,那么getElementsByName()就可以取得这些元素组成一个数组。

比如有两个DIV:

&ltdiv name=”docname” id=”docid1″&gt&lt/div&gt

&ltdiv name=”docname” id=”docid2″&gt&lt/div&gt

那么可以用getElementsByName(“docname”)获得这两个DIV,用getElementsByName(“docname”)[0]访问第一个DIV,用getElementsByName

3、getElementsByTagName()

这个呢就是通过TAGNAME(标签名称)来获得元素,一个DOCUMENT中当然会有相同的标签,所以这个方法也是取得一个数组。

下面这个例子有两个DIV,可以用getElementsByTagName(“div”)来访问它们,用getElementsByTagName(“div”)[0]访问第一个DIV,用

getElementsByTagName(“div”)[1]访问第二个DIV。

&lt!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt

&lthtml xmlns=”http://www.w3.org/1999/xhtml”&gt

&lthead&gt

&ltmeta http-equiv=”Content-Type” content=”text/htmlcharset=gb2312″&gt

&lttitle&gtByname,tag&lt/title&gt

&ltstyle type=”text/css”&gt

&lt!–

#docid1,#docid2{

margin:10px

height:400px

width:400px

getelementsbytagname什么意思

background-color:#999}

–&gt

&lt/style&gt

&lt/head&gt

&ltbody&gt

&ltdiv name=”docname” id=”docid1″ onClick=”bgcolor()”&gt&lt/div&gt

&ltdiv name=”docname” id=”docid2″ onClick=”bgcolor()”&gt&lt/div&gt

&lt/body&gt

&lt/html&gt

&ltscript language=”JavaScript” type=”text/JavaScript”&gt

&lt!–

function bgcolor(){

var docnObj=document.getElementsByTagName(“div”)

docnObj[0].style.backgroundColor = “black”

docnObj[1].style.backgroundColor = “black”

}

–&gt

&lt/script&gt

总结一下标准DOM,访问某一特定元素尽量用标准的getElementById(),访问标签用标准的getElementByTagName(),但IE不支持

getElementsByName(),所以就要避免使用getElementsByName(),但getElementsByName()和不符合标准的document.all[]也不是全无是处,它们有自己的方便之处,用不用那就看网站的用户使用什么浏览器,由你自己决定了。

getElementsByTagName和getElementById 的区别

getElementsByTagName是document的方法,只能通过document调用。如果你只是想要取得DOM中指定标签名的对象的集合的话document.getElementsByTagName就足够了。

拓展:

1、JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

2、在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。

具体步骤如下:/导致这种情况的原因主要是……

js 用getElementsByTagName怎么获取其中一个元素的style

前者是通过标签名来获得当前网页中的元素对象的,而且它返回的是一个数组,因为tag相同的元素可能不止一个这个时候就需要用getElementsByTagName(“a”)[0](返回第一个元素)来获得对象的引用

而后者是通过元素的id属性来获得当前网页中的元素对象的,由于在一个文档中相同id名称的元素只能有一个,所以它返回的就是一个对象,也就是说可以直接用,只要你在元素中定义了id名称,比如&ltdiv id=”myDiv”&gt,这个时候你就可以用document.getElementById(“myDiv”)来获得这个div对象了。

js getElemensByTagName问题

步骤:

1、通过getElementsByTagName获取节点数组

2、通过节点数组获取某个节点

3、通过节点.style获取元素的style

示例:

&lthtml&gt

&ltbody&gt

&ltp&gt测试-一个测试的节点P&lt/p&gt  

&lt/body&gt

&ltscript&gt

 var parr = document.getElementsByTagName(‘p’)//通过标签名称p获取P的节点数组

 if(parr.length&gt0){//如果获取到了节点

    var s = parr[0].style//parr[0]表示取第一个的样式,赋值给s

    s.background=’blue’//如果根据s能够操作说明获取成功

 }

&lt/script&gt

&lt/html&gt

getElementsByTagName取的是html标记名称,

比如:img,input,li,body,p…等等这些由html语言定义的,

并不是你自己定义的name.

在你的代码中根本没有出现field这个tag(只是把一个input的tag取名为了field),

所以getElementsByTagName(‘feild’)取到的是0个对象,你又强行取一个对象,所以就是undefined了

以上就是关于getelementsbytagname什么意思全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagN…
查看详情
WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagN…
查看详情
WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagN…
查看详情
相关文章
推荐游戏
风之谷
风之谷
游戏资讯 10.5M
下载
斗罗大陆3
斗罗大陆3
游戏资讯 566.9M
下载
冠军网球
冠军网球
游戏资讯 148.1M
下载
最佳炮手
最佳炮手
游戏资讯 68.1M
下载
如梦下弦月
如梦下弦月
游戏资讯 840.1M
下载
富甲封神传
富甲封神传
游戏资讯 263.0M
下载