这种在上高级WEB课时,老师为表单元素赋了name值,之后直接在JS中使用该值而不需要使用document.get...来获取了,例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <form name="test"> <input type="text" name="txt" value="这是一个测试"> </form> <script type="text/javascript"> console.log(document.test); console.log(document.test.txt.value); </script> </body> </html>
结果如下
当第二个测试使用document.txt.value时,会产生错误提示,故使用表单元素的name时应该按DOM树的父子关系进行调用。
另,写随笔前去百度+谷歌了一下,发现并未有人讨论关于这个name的使用,不知道为什么。
今天测试代码的时候,发现在js中未获取元素id时,可直接使用id来得到元素或对其进行DOM操作,例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #test{ background: #ccc; } div>div{ width: 100px; height: 100px; background: #000; } </style> </head> <body> <div id="test"> <p id="myP">这是原来的信息</p> </div> <script type="text/javascript"> myP.innerHTML = "这是新的信息"; console.log(test.style.background);console.log(test.style); test.appendChild(document.createElement('div')); </script> </body> </html>
这是结果:
在打印test的background时,打印了一片空白,我猜测直接使用id时,不能对其进行复杂的使用。
带着疑问前去百度了一番,发现在mrcxt的一篇博客中有一些研究。简单来说就是该方式使用id并非js规范,不推荐使用,将来不知是否还是支持。