javascript - 按属性选择,相应地设置innerHTML
问题描述
如何innerHTML
在纯javascript中按属性选择并相应地设置结果?
const texts = [
{id: 'id01', text='Content 01'},
{id: 'id02', text='Content 02'}
]
<div data-my-id="id01"></div>
<div data-my-id="id02"></div>
最终结果应该是:
<div data-my-id="id01">Content 01</div>
<div data-my-id="id02">Content 02</div>
编辑:忘了提:循环数组效率不高,因为有数百(也许数千)个项目。有什么方法可以遍历 querySelector 结果并相应地设置文本?
解决方案
您可以使用该函数forEach
来循环数组,并使用该函数querySelector([data-my-id="specific id"])
来选择元素并设置所需的文本。
请改用该属性textContent
,因为您只需要设置一个文本
const texts = [
{id: 'id01', text:'Content 01'},
{id: 'id02', text:'Content 02'}
]
texts.forEach(({id, text}) => document.querySelector(`[data-my-id="${id}"]`).textContent=text);
<div data-my-id="id01"></div>
<div data-my-id="id02"></div>
推荐阅读
- java - 如何使用 Contains 忽略大小写
- python - 在不使用 pandas 或任何类似库的情况下使用 python 旋转 CSV 字符串
- service - Kibana 没有在 FreeBSD 上运行
- javascript - 如何使用映射的键值对将数组转换为javascript中的对象?
- python - 如何从 for 循环中给定列表的结果创建列表?
- ios - Objective-C 中的“@TRUE”
- opengl-es-2.0 - 渲染图像的白屏闪烁
- angular - 如何将 ngFor 和 ngIf 放入 MAT-Table
- mysql - 我无法让这个 MySQL 过程像我想要的那样工作(语法错误)
- typescript - 如何获得 Object.keys(o) 的正确返回类型