dom 相关问题

通过文档对象模型,将此标记用于有关其他语言与XML / HTML交互的问题。不要将其用作HTML,JavaScript或SAX的简写 - 使用其他标记来表示语言和标记。

未捕获类型错误:无法访问属性“innerHTML”,容器为空

我有以下名为index.html的HTML文件: 我有以下名为 index.html 的 HTML 文件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Components test</title> <script src="/script.js"></script> </head> <body> <h1>All reviews:</h1> <div id="CK-reviews"></div> <h1>All users:</h1> <div id="CK-users"></div> <h1>Search Users</h1> <div id="CK-search"></div> </body> </html> 脚本文件名为 script.js: // Fetch calls for data const get = async (id, filters, url) => { const encodedFilters = btoa (JSON.stringify (filters)) const rawResponse = await fetch (url, {headers: { "id": id, "filters": encodedFilters }}) const response = await rawResponse.json() return response } const post = async (createData, url) => { const rawResponse = await fetch (url, {body: JSON.stringify (createData)}) const response = await rawResponse.json() return response } // Inject data into correct divs const injectReviews = async () => { const data = await get ("655643cd1c82275babfaf859", {title: "Thank you"}, "http://localhost:3000/api/reviews/add") const reviews = data.reviews const reviewsContainer = document.getElementById("CK-reviews") let injectHtml = "" for (let i = 0; i < reviews.length; i++) { injectHtml += ` <div class="CK-review"> <h1 class="CK-review-title">${reviews[i].title}</h1> <b>${reviews[i].stars}</b> <p class="CK-search-text">${reviews[i].text}</p> </div>` } reviewsContainer.innerHTML += injectHtml } const injectUser = async () => { const data = await get ("64e15d2329617fb0163de018", {}, "http://localhost:3000/api/user") const users = data.user const usersContainer = document.getElementById("CK-users") let injectHtml = "" for (let i = 0; i < users.length; i++) { injectHtml += ` <div class="CK-user"> <h1 class="CK-user-name">${users[i].name}</h1> </div>` } usersContainer.innerHTML += injectHtml } const injectSearch = () => { const searchContainer = document.getElementById("CK-search") searchContainer.innerHTML = `<input type="text" placeholder="Search for anyone"/>` } injectReviews() injectUser() injectSearch() 问题出在注入搜索功能中,我收到错误: Uncaught TypeError: can't access property "innerHTML", searchContainer is null injectSearch http://localhost:5500/script.js:70 <anonymous> http://localhost:5500/script.js:76 script.js:70:5 injectSearch http://localhost:5500/script.js:70 <anonymous> http://localhost:5500/script.js:76 发生什么事了?该元素确实存在。当尝试访问函数内的其他元素时,我收到相同的错误。所有其他功能都有效。 可能是脚本在 dom 完成之前运行,请尝试在文档完全加载并准备好后运行脚本。 document.addEventListener("DOMContentLoaded", () => { injectReviews(); injectUser(); injectSearch(); });

回答 1 投票 0

将 HTMLCollection 的内容附加到 Body

我正在努力: 将 HTML 字符串解析为 DOM 对象 提取段落(本例中为 10 段) 将提取的段落附加到正文 我有以下代码: $(文档).ready(函数(){ ...

回答 2 投票 0

鼠标悬停时突出显示 DOM 元素,就像检查一样

我们有一个书签,用户单击一个按钮,然后需要启动像 highligther 这样的检查。我们希望这是跨浏览器的。 为此,我们需要在运行过程中检测 DOM 元素...

回答 2 投票 0

Javascript 我无法删除事件监听器

下面是我的代码的缩短版本。问题是我无法删除函数内的事件侦听器,这会触发一个简单的警报。有什么帮助吗? const resizers = document.querySelectorAll(".

回答 1 投票 0

带有垂直行的 HTML 表格

如何在 HTML 中制作垂直表格?垂直,我的意思是行将垂直,表标题位于左侧。 我还需要它的方式,以便我可以访问这些行(在本例中是垂直的),就像在

回答 7 投票 0

Intl.NumberFormat 返回 NaN

我正在尝试使用 Intl.NumberFormat 将数组对象中的数字转换为货币,但 NaN 不断出现。 如果它有效,那么我如何将值传递给适合我的 HTML 元素...

回答 1 投票 0

在 JavaScript 中保存用户的 cookie 首选项

我有一个简单的cookie横幅,如果用户单击“接受”按钮,它会加载谷歌分析脚本。然后它会记住一个月的选择并且不会再出现。但是,如果用户...

回答 1 投票 0

fetch可以用来替换整个文档或者html元素吗?

在 Web 扩展中,我一直将模板元素从后台页面作为字符串传递到空的本地 HTML 文件,并使用 browser.tabs.insertCSS 和 browser.tabs.executeScript 传递 CSS ...

回答 2 投票 0

检查事件的目标是否在组件内,而不使用 stopPropagation()

我正在使用自定义选择, 我如何检查事件的目标是否在组件内,而不是使用 stopPropagation? 这样我就可以避免在全局范围内停止点击事件的传播...

回答 1 投票 0

如何在点击事件上添加和删除多个框的背景颜色

当我单击一个框时,页面背景应该更改为框的颜色(正在发生),但我想要的是无论我最后单击哪个框,该框的颜色也应该改变。 我也是

回答 1 投票 0

JavaScript 准备好可视化大型数据集了吗?

我们有一些数据(10-50 列,数十万行),我们通常在 Excel 中将其可视化为折线图或堆积条形图。 用户希望能够放大和缩小图表以......

回答 3 投票 0

在页面加载时更改 HTML DOM

我想在页面上的 DOM 中编辑某些节点的内容,但是如果我使用 window.onload 执行此操作,则只有在整个页面加载后才能完成,并且可以看到节点的内容发生了变化。 那么,有没有...

回答 1 投票 0

您可以在不更改渲染数据的情况下更新 Vue Pinia 存储吗?或者更确切地说,只渲染一个数据更改?

我正在使用带有脚本设置的Vue3组合。我正在使用 pinia 商店。 我有一个 SPA,用户可以逐渐更改数据,这些数据存储在历史数组中。 可以重新创建所有的...

回答 1 投票 0

在 Java 中使用 DOM 从 XML 文档获取数据

我正在尝试使用 DOM 解析 XML 文件,但最后仅输出最后一个条目多次(在循环中)。请告诉我,有什么问题吗? (我是Java初学者) XML 近似...

回答 1 投票 0

如何从文本节点使用scrollIntoView

我不知道如何获取文本节点的元素,但我可以获取父元素。 我编写了一个 javascript 例程来使用范围进行选择。所以我有一个起始节点和结束节点......

回答 1 投票 0

更改 php DOMElement 的innerHTML

如何更改 php DOMElement 的innerHTML?

回答 10 投票 0

如何使用Javascript编辑文本样式

我试图让一个按钮在列表中创建新条目,其显示类似于: “#1 新点击我” 除了我想让“Click Me”在黑框中显示为黄色文本,然后我想要......

回答 3 投票 0

Virtual DOM 和 ReactDOM 有什么区别?

我在互联网上浏览了很多文章询问两者之间的区别,但几乎每个人都解释了 Virtual DOM 和 Real DOM 之间的区别。根据我的目前...

回答 1 投票 0

无法让 ngx-infinite-scroll 监听窗口滚动

我正在尝试实现 ngx-infinite-scroll 我无法让它执行我想要的操作,即监听浏览器或窗口滚动,以便我可以滚动内容并在需要时加载。 发生了什么事我...

回答 2 投票 0

如何使用 Javascript 更改元素的不透明度或可见性

我在按钮元素中使用了 3 个 svg,其中一个是未选中的 svg,已选中并正在加载。默认情况下,未选中的设置为 1,而其余的为 0。我想将未选中的不透明度更改为零

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.