我最近在道格拉斯crockford演示中遇到了这两种方法用于dom元素检索,但是不能理解这两种方法之间的区别.
document.getElementsByTagName() document.getElementsByName()
有人可以向我解释一下.
解决方法
假设你有这个HTML:
<input name="test" class="cssclassname">
你会得到它
document.getElementsByTagName('input')
要么
document.getElementsByName('test')
要么
document.getElementsByClassName('cssclassname')
此外,您可以在除document之外的元素上调用getElementsByTagName.例如,允许以下内容,
document.getElementsById('foo').getElementsByTagName('bar')
但是getElementsByName只能在文档上调用.
注意:
> JavaScript是区分大小写的,你不能像你在问题中写的功能
>这些函数不仅返回元素而是仅返回一个活的nodeList,所以你必须迭代结果或者采取第一个,如果你确定它是好的:document.getElementsByTagName(‘input’)[0]
> MDN是JavaScript方法的一个很好的文档.您应该阅读getElementsByTagName和getElementsByName.