【问题标题】:"document.getElementsByTagName('script')[0].style" or "document.body.style""document.getElementsByTagName('script')[0].style" 或 "document.body.style"
【发布时间】:2013-05-03 20:41:03
【问题描述】:

有些人使用:

document.getElementsByTagName('script')[0].style

和其他人使用:

document.body.style.

这两者有区别吗?

编辑:第一个选项的示例:http://lea.verou.me/2009/02/find-the-vendor-prefix-of-the-current-browser/

【问题讨论】:

  • 你的意思是document.getElementsByTagName('body')[0].style?样式对脚本标签没有意​​义...
  • 完全不同的用例,一个用于 css 样式,另一个用于脚本标签
  • 第二个document.body.style比其他更快。
  • 如果'body'标签尚未加载,也许第一个选项是避免错误... ?? “脚本”标签已加载保险

标签: javascript css styles


【解决方案1】:

我假设你的意思是document.getElementsByTagName('body')[0].style

它们本质上是相同的,尽管我认为 document.body.style 是较新且普遍首选的方法。

在速度方面,document.body.style 在所有主流浏览器中也是 quite a bit faster than the former,所以如果在两者之间进行选择,我建议使用它。

【讨论】:

  • 我的意思是code document.getElementsByTagName('script')[0].style 例如这里:lea.verou.me/2009/02/…
  • @Misgiving 他们使用的是document.getElementsByTagName('script')[0] 而不是document.getElementsByTagName('script')[0].style。第一个获取具有脚本标签名称的所有元素,第二个将用于影响这些元素的样式,但您不会这样做,因为它们是脚本元素。 document.body.style 用于文档正文的样式,例如document.body.style.background="red" 可用于将文档背景设置为红色。
  • 这对我有帮助,但目的是获取所有支持的属性,而不是设置。我认为第一种选择更安全。 ¿ 你怎么看?
  • @Misgiving 如果您不介意速度问题,我想这并没有什么实际危害。您将使用document.getElementsByTagName('script') 获得所有,document.getElementsByTagName('script')[0] 获得第一个。
  • 非常感谢您的帮助!
猜你喜欢
  • 2011-01-06
  • 2020-11-29
  • 2020-10-29
  • 2012-09-15
  • 1970-01-01
  • 2018-01-27
  • 2011-09-03
  • 1970-01-01
  • 2011-04-09
相关资源
最近更新 更多