通过文档对象模型,将此标记用于有关其他语言与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(); });
我正在努力: 将 HTML 字符串解析为 DOM 对象 提取段落(本例中为 10 段) 将提取的段落附加到正文 我有以下代码: $(文档).ready(函数(){ ...
我们有一个书签,用户单击一个按钮,然后需要启动像 highligther 这样的检查。我们希望这是跨浏览器的。 为此,我们需要在运行过程中检测 DOM 元素...
下面是我的代码的缩短版本。问题是我无法删除函数内的事件侦听器,这会触发一个简单的警报。有什么帮助吗? const resizers = document.querySelectorAll(".
如何在 HTML 中制作垂直表格?垂直,我的意思是行将垂直,表标题位于左侧。 我还需要它的方式,以便我可以访问这些行(在本例中是垂直的),就像在
我正在尝试使用 Intl.NumberFormat 将数组对象中的数字转换为货币,但 NaN 不断出现。 如果它有效,那么我如何将值传递给适合我的 HTML 元素...
在 JavaScript 中保存用户的 cookie 首选项
我有一个简单的cookie横幅,如果用户单击“接受”按钮,它会加载谷歌分析脚本。然后它会记住一个月的选择并且不会再出现。但是,如果用户...
在 Web 扩展中,我一直将模板元素从后台页面作为字符串传递到空的本地 HTML 文件,并使用 browser.tabs.insertCSS 和 browser.tabs.executeScript 传递 CSS ...
检查事件的目标是否在组件内,而不使用 stopPropagation()
我正在使用自定义选择, 我如何检查事件的目标是否在组件内,而不是使用 stopPropagation? 这样我就可以避免在全局范围内停止点击事件的传播...
当我单击一个框时,页面背景应该更改为框的颜色(正在发生),但我想要的是无论我最后单击哪个框,该框的颜色也应该改变。 我也是
我们有一些数据(10-50 列,数十万行),我们通常在 Excel 中将其可视化为折线图或堆积条形图。 用户希望能够放大和缩小图表以......
我想在页面上的 DOM 中编辑某些节点的内容,但是如果我使用 window.onload 执行此操作,则只有在整个页面加载后才能完成,并且可以看到节点的内容发生了变化。 那么,有没有...
您可以在不更改渲染数据的情况下更新 Vue Pinia 存储吗?或者更确切地说,只渲染一个数据更改?
我正在使用带有脚本设置的Vue3组合。我正在使用 pinia 商店。 我有一个 SPA,用户可以逐渐更改数据,这些数据存储在历史数组中。 可以重新创建所有的...
我正在尝试使用 DOM 解析 XML 文件,但最后仅输出最后一个条目多次(在循环中)。请告诉我,有什么问题吗? (我是Java初学者) XML 近似...
我不知道如何获取文本节点的元素,但我可以获取父元素。 我编写了一个 javascript 例程来使用范围进行选择。所以我有一个起始节点和结束节点......
我试图让一个按钮在列表中创建新条目,其显示类似于: “#1 新点击我” 除了我想让“Click Me”在黑框中显示为黄色文本,然后我想要......
我在互联网上浏览了很多文章询问两者之间的区别,但几乎每个人都解释了 Virtual DOM 和 Real DOM 之间的区别。根据我的目前...
无法让 ngx-infinite-scroll 监听窗口滚动
我正在尝试实现 ngx-infinite-scroll 我无法让它执行我想要的操作,即监听浏览器或窗口滚动,以便我可以滚动内容并在需要时加载。 发生了什么事我...
我在按钮元素中使用了 3 个 svg,其中一个是未选中的 svg,已选中并正在加载。默认情况下,未选中的设置为 1,而其余的为 0。我想将未选中的不透明度更改为零