【问题标题】:Chrome returns null when using getElementById() in the console until I inspect an element?Chrome 在控制台中使用 getElementById() 时返回 null 直到我检查一个元素?
【发布时间】:2021-02-16 09:57:54
【问题描述】:

我在 Chrome 版本 86.0.4240.111 中使用 CTRL+SHIFT+I 在我正在处理的页面(不是我正在积极开发的页面)上打开 JS 控制台,我立即开始输入 document.getElementById('Clear All') 并返回 @ 987654322@

但是在我单击Elements 选项卡并检查具有id="Clear All" 属性的元素后,运行相同的函数(document.getElementById('Clear All'))会返回该元素。

这是否与id 属性中的空格有关?有没有办法预加载 DOM,这样我就可以在不先检查页面的情况下拉出 Clear All 元素?

另外值得注意的是,这个页面有<frameset>s,我想访问的元素在其中。

考虑到这是一个较新的产品,我真的不敢相信他们使用<frameset>s。

【问题讨论】:

  • 你不能使用带有空格的 id 像 'Clear All'
  • 你可以试试'Clear\ All''Clear\\ All' 看看是否能逃脱空间
  • @BahadorRaghibizadeh 我希望我在这件事上有一个选择,这不是我的修改。
  • @Taplar 没用,但谢谢。
  • 我试图访问的元素也在<frameset>...这有帮助吗?

标签: javascript html google-chrome console


【解决方案1】:

不要在 ID 上使用空格...在元素和 javascript 上尝试 id="clear-all"-> document.getElementById("clear-all")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-16
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多