javascript - 使用 document.write 时元素不显示在检查元素中

标签 javascript google-chrome google-chrome-devtools inspect-element

我写了下面的JS代码:

<script>
function myFunction() {
  document.write("<img src=x>")
}
myFunction();
</script>

当我在 Chrome 中使用 Ctrl+Shift+I 然后使用 Ctrl+F 然后输入 <img src=x> 时,我的函数工作正常并向页面添加一个新的 img 标签。我得到 0 of 0 found .如何解决这个问题?

最佳答案

来自您的评论:

ctrl+shift+i in chrome then ctrl+F then I type and I get 0 of 0 found

没有必要这样做。只需右键单击图像并单击检查。 Chrome 会在“元素”面板中直接将您带到它。

在元素面板中重新搜索:

“元素”面板不会显示您编写的确切 HTML,它会显示呈现为规范 HTML 的 DOM。例如,src属性将在引号中。

但是,元素面板中的搜索框不搜索 HTML,它搜索 DOM。因此键入纯文本将匹配文本节点中的文本、属性中的文本、属性名称、标签名称等,但不是精确的 HTML。因此,如果您搜索图像的 URL,它会找到它,但如果您搜索 <img src=,它不会找到它。 .这与通过 document.write 添加的无关。 ,这就是 Chrome 元素面板的工作方式。

您可以通过键入 XPath 或 CSS 选择器来查找元素,例如 img[src=x]会找到它。这是一个示例(我使用了您的 Gravatar 而不是 x ):

Example using search in elements panel

在那里,您可以看到选择器 img[src*=gravatar]找到了图像,因为该选择器(使用“包含”属性选择器 *= )匹配该元素。

关于javascript - 使用 document.write 时元素不显示在检查元素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55983411/

相关文章:

javascript - iframe 中不解析 Css 和 Javascript

仅 CSS 文本子菜单(在 sprite 菜单下)仅在 chrome/safari 中未对齐

google-chrome - 最新的 Chrome 在控制台中获取错误的时区

CSS 仅在将其放入特定样式表时才应用

css - 如何检测CSS继承来源?

javascript - React Chrome 选项卡扩展不适用于 WebPack Dev Server

javascript - 使用 JQuery 进行过滤以忽略 parent 的 child

javascript - 允许 Electron 托管的 Web 应用程序调用 window.open 并像常规 Chrome 窗口一样使用结果

javascript - 原型(prototype)继承设置

javascript - 解释 Chrome 开发工具中的丢帧