javascript getElementsByTagName

 更新时间:2011年01月31日 19:51:14   作者:   我要评论
DC大神为早期不支持getElementsByTagName的浏览器写的hack,当然与原生的不能同日而言,原生的用到缓存机制呢。
复制代码 代码如下:

function getElementsByTagName(node, tagName) {
var elements = [], i = 0, anyTag = tagName === "*", next = node.firstChild;
while ((node = next)) {
if (anyTag ? node.nodeType === 1 : node.nodeName === tagName) elements[i++] = node;
next = node.firstChild || node.nextSibling;
while (!next && (node = node.parentNode)) next = node.nextSibling;
}
return elements;
};

定义和用法
getElementsByTagName() 方法可返回带有指定标签名的对象的集合。
语法
document.getElementsByTagName(tagname)
说明
getElementsByTagName() 方法返回元素的顺序是它们在文档中的顺序。
如果把特殊字符串 "*" 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。
提示和注释
注释:传递给 getElementsByTagName() 方法的字符串可以不区分大小写。
实例
例子 1
复制代码 代码如下:

<html>
<head>
<script type="text/javascript">
function getElements()
{
var x=document.getElementsByTagName("input");
alert(x.length);
}
</script>
</head>
<body>
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<br />
<input type="button" onclick="getElements()"
value="How many input elements?" />
</body>
</html>

例子 2
可以用 getElementsByTagName() 方法获取任何类型的 HTML 元素的列表。例如,下面的代码可获取文档中所有的表:
复制代码 代码如下:

var tables = document.getElementsByTagName("table");
alert ("This document contains " + tables.length + " tables");

例子 3
如果您非常了解文档的结构,也可以使用 getElementsByTagName() 方法获取文档中的一个特定的元素。例如,下面的代码可以获得文档中的第四个段落:
var myParagragh = document.getElementsByTagName("p")[3];
不过,我们还是认为,如果您需要操作某个特定的元素,使用 getElementById() 方法将更为有效。

相关文章

  • js中Generator函数的深入讲解

    js中Generator函数的深入讲解

    这篇文章主要给大家介绍了关于js中Generator函数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Javascript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 拖动布局之保存布局页面cookies篇

    拖动布局之保存布局页面cookies篇

    拖动后怎么把布局结果保存呢??我开始考虑是记录每个拖动对象的的坐标,可做起来我感觉好麻烦,所以就没有采用这种方法。
    2010-10-10
  • JS中利用swiper实现3d翻转幻灯片实例代码

    JS中利用swiper实现3d翻转幻灯片实例代码

    大家都知道Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件。下面这篇文章主要给大家介绍了在JS中利用swiper实现3d翻转幻灯片的相关资料,文中给出了完整的示例代码供大家参考学习,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • js检查页面上有无重复id的实现代码

    js检查页面上有无重复id的实现代码

    有时候我们需要检查一个页面上是否用重复的id,一般id都是唯一的,也方便控制,那么就可以参考下面的代码
    2013-07-07
  • 详解SPA中前端路由基本原理与实现方式

    详解SPA中前端路由基本原理与实现方式

    这篇文章主要介绍了详解SPA中前端路由基本原理与实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)

    详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)

    最近项目需求要生成一个倒数7天的数组,下面小编把我的实现思路和代码整理分享给大家,供大家参考,需要的朋友可以参考下
    2015-10-10
  • 微信小程序生成海报分享朋友圈的实现方法

    微信小程序生成海报分享朋友圈的实现方法

    利用微信强大的社交能力通过小程序达到裂变的目的,拉取新用户。下面小编给大家带来了微信小程序生成海报分享朋友圈的实现方法,感兴趣的朋友跟随小编一起看看吧
    2019-05-05
  • 用js解决数字不能换行问题

    用js解决数字不能换行问题

    当一串数字的时候,很多浏览器不能自动换行,所以可以借助js来实现。
    2010-08-08
  • 将页面table内容与样式另存成excel文件的方法

    将页面table内容与样式另存成excel文件的方法

    本文分析一下将页面table内容与样式另存成excel文件的方法,主要介绍style与class之间的区别问题。
    2015-08-08
  • 浅谈js原生拖放

    浅谈js原生拖放

    下面小编就为大家带来一篇浅谈js原生拖放。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11

最新评论