我最近在道格拉斯·克罗克福德(Douglas Crockford)演讲中遇到了这两种检索dom元素的方法,但无法理解这两者之间的区别。

document.getElementsByTagName()

document.getElementsByName()

有人可以向我解释一下吗?

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

最佳答案

假设您有以下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]
  • MDN是JavaScript方法的良好文档。您应该阅读getElementsByTagNamegetElementsByName
  • 10-06 07:14
    查看更多