ILo*_*Git 4 html javascript document
这段代码
<img name="n1" src="" />
<h1 name="n2">a header</h1>
<script>
document["n1"].src = "http://x.y/picture.jpg";
document["n2"].innerHTML = "Boo";
</script>
Run Code Online (Sandbox Code Playgroud)
是<img>和<h1>标签不同的东西.图像src按照预期的document["n1"].src线条改变.但是标题innerHTML没有像预期的那样改变document["n2"].innerHTML.什么document["some string"]真的回归?
Lov*_*ing 11
在JavaScript中,object["string"]访问属性'string'上object.这可以用于访问许多不同对象上的许多不同属性,就像将对象视为值的哈希映射一样.对于该document对象,默认情况下将加载某些属性,例如具有该name属性的元素.至少对于某些浏览器(我不知道哪个子集).
也就是说,该name属性不是<h1>标记的有效属性,因此文档不会将其加载到document["name"]值中.
name属性对以下元素有效:
<a> - HTML 4中不推荐使用的属性,HTML5中已废弃<applet> - HTML5中的元素已过时<button><form>- HTML 4中不推荐使用的属性,在HTML5中返回<frame> - HTML5中的元素已过时<iframe><img> - HTML 4中不推荐使用的属性,HTML5中已废弃<input><map> <meta>- 不一样的name属性<object><param>- 不一样的name属性<select> <textarea>对于这些元素中的每一个,如果它们具有name属性,则会将它们添加到文档中,如您所见.但是,获得这些元素的首选方法是使用document.getElementsByName()