javascript中getelementsbytagname和getelementsbyname之间的区别是什么?

时间:2013-05-21 07:14:23

标签: javascript

我最近在douglas crockford演示文稿中遇到了这两种dom元素检索方法,但无法理解这两种方法之间的区别。

document.getElementsByTagName()

document.getElementsByName()

有人可以向我解释一下。

视频链接为http://www.youtube.com/watch?v=Fv9qT9joc0M

3 个答案:

答案 0 :(得分:21)

假设你有这个HTML:

<input name="test" class="cssclassname">

你得到它

document.getElementsByTagName('input')

document.getElementsByName('test')

document.getElementsByClassName('cssclassname')

此外,您可以在文档以外的元素上调用getElementsByTagName。例如,允许以下内容,

document.getElementsById('foo').getElementsByTagName('bar')

getElementsByName只能在document上调用。

注意:

  • JavaScript区分大小写,您不能像在问题中那样编写函数
  • 这些函数不仅仅返回元素而是返回实时nodeList,因此如果您确定它是好的,则必须迭代结果或取第一个结果:document.getElementsByTagName('input')[0] < / LI>
  • MDN是JavaScript方法的优秀文档。您应该阅读getElementsByTagNamegetElementsByName

答案 1 :(得分:3)

<div name="alpha"></div>
<div name="beta"></div>

var divs = document.getElementsByTagName("div");  // Selects both divs.
var alpha = document.GetElementsByName("alpha");   // Selects the first div.
var beta = document.GetElementsByName("beta");     // Selects the second div.

答案 2 :(得分:0)

希望我能帮到你,请查看

<input type="checkbox" name="johnsmith" id="one">

在这种情况下,输入是TagName,name是这个名称,id是特殊的唯一标识。

让我来解释一个更好的方法,
“id”是你的身份证,只有一个人能够持有这张身份证(身份证);
“名字”是你的名字,但在美国有不止一个人使用这个名字,如约翰史密斯(姓名)。
“输入”是您的类别(TagName),4示例人类。我希望你现在明白。祝你好运。