javascript - 文件 ["Some Name"] 的真正作用是什么?

标签 javascript html 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>

<img> 做了一些不同的事情和 <h1>标签。图片srcdocument["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/

相关文章:

html - 更改 Bootstrap 的选择边界半径

html - li 增加时 CSS 自动更改 ul 宽度(向左浮动)

php - 通过 php 表单发送电子邮件文件

php - 在数据库与文件系统中存储文件

javascript - Bower 和 npm 有什么区别?

javascript - 如何检查组件 react 中浪费的渲染

javascript - 如何在 Protractor 预期运行之前返回 promise ?

javascript - 从 HTML/文本中提取 URL,但如果 URL 仅显示部分内容,如 "/secondpage.html"?

php - 如何在一周中的特定一天显示特定网页

c# - 文档的“屏幕截图”