作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这段代码
<img name="n1" src="" />
<h1 name="n2">a header</h1>
<script>
document["n1"].src = "http://x.y/picture.jpg";
document["n2"].innerHTML = "Boo";
</script>
为 <img>
做了一些不同的事情和 <h1>
标签。图片src
按 document["n1"].src
的预期更改线。但是标题innerHTML
未按预期更改 document["n2"].innerHTML
线。什么是document["some string"]
真的回来了吗?
最佳答案
在 JavaScript 中,object["string"]
访问属性 'string'
在 object
.这可用于访问许多不同对象的许多不同属性,就像将对象视为值的 HashMap 一样。对于 document
对象,这将默认加载某些属性,例如带有 name
的元素属性。至少对于某些浏览器而言(我不知道是哪个子集)。
也就是说, name
attribute不是 <h1>
上的有效属性标记,因此文档不会将其加载到 document["name"]
中值(value)。
name 属性对以下元素有效:
<a>
- 属性在 HTML 4 中已弃用,在 HTML5 中已过时<applet>
- 元素在 HTML5 中已过时<button>
<form>
- HTML 4 中弃用的属性,returned in HTML5 <frame>
- 元素在 HTML5 中已过时<iframe>
<img>
- 属性在 HTML 4 中已弃用,在 HTML5 中已过时<input>
<map>
<meta>
- 不一样name
属性<object>
<param>
- 不一样name
属性<select>
<textarea>
对于这些元素中的每一个,如果它们有一个 name
属性,它们将被添加到文档中,如您所见。不过,获取此元素的首选方法是使用 document.getElementsByName()
关于javascript - 文件 ["Some Name"] 的真正作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13102723/
我是一名优秀的程序员,十分优秀!