javascript - JS中没有设置的字符串
问题描述
我正在开发一个 javascript 项目,但无法显示附加的字符串。现在,我正在尝试将 Crawler1 和 Crawler2 更改为用户输入的用户名。这些用户名存储在本地存储中:
<div id="wrap">
<div id="left_col">
<p id="p1">Crawler 1</p>
</div>
<div id="right_col">
<p id="p2">Crawler 2</p>
</div>
</div>
这是我用来将 p1 和 p2 值更改为用户名的 JS 脚本。我很困惑为什么没有附加任何内容,因为当我使用一个window.alert
框
localStorage.getItem("name")
并localStorage.getItem("name2")
打印预期值时。
document.forms["game"]["p1"].innerHTML = localStorage.getItem("name");
document.forms["game"]["p2"].innerHTML = localStorage.getItem("name2");
有谁知道为什么p1
andp2
值不会改变?
解决方案
你试过用...
document.querySelector('#left_col p').innerHTML = localStorage.getItem("name");
document.querySelector('#right_col p').innerHTML = localStorage.getItem("name");
...?
或者,如果您确实需要在表单内限定查询范围
const form = document.querySelector('form[name=game]');
form.querySelector('#left_col p').innerHTML = localStorage.getItem("name");
form.querySelector('#right_col p').innerHTML = localStorage.getItem("name");
[编辑] 解释
查看您的标记,您想访问 a <p>
inside a <div id="">
。
document.querySelector()
允许您DOMElement
使用CSS selector
.
css 选择器#left_col p
匹配<p>
元素内部的所有id="left_col"
.
有关 CSS 选择器的更多信息:https ://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors
推荐阅读
- java - 如何使用 Velocity 模板语言检查数组中是否存在值
- react-native - 单击按钮后更改状态更改的可访问性标签
- lotus-notes - 注释:NotesName 类中的 Addr821
- php - codeigniter 项目,无法将邮件发送到 hotmail 邮件 ID
- javascript - 如何在 nextjs 应用程序中实现动态多语言 Recaptcha v2?
- elasticsearch - 在 Kibana 中搜索特定术语
- xamarin - 在 Xamarin 中的服务调用期间 UI 没有响应
- mysql - 为什么mysql上的多个AND条件不能正确满足条件
- docker - 无法使用 Ansible 和 Docker 启动 Replicated ZooKeeper
- android - 更新 android studio 3.5 时无法应用补丁