javascript - JavaScript | appendChild 到所有类
问题描述
我在将 Child 附加到我的文档中的整个类时遇到问题,其中类的名称是“onbackorder”。这是我的代码:
<script>
var first = document.createElement("p");
var text = document.createTextNode("On backorder");
first.appendChild(text);
var isRequestQuote = document.getElementsByClassName('onbackorder');
if (isRequestQuote.length > 0) {
document.querySelector(".onbackorder").appendChild(first);
}
</script>
此刻函数随机放置选择器。如何在类为“onbackorder”的整个文档中获得相同的选择器。
谢谢
解决方案
有2点:
document.querySelector(".onbackorder")
只是返回第一个项目。所以你需要使用document.querySelectorAll('.onbackorder')
.
Document 方法 querySelector() 返回文档中与指定选择器或选择器组匹配的第一个元素。如果没有找到匹配项,则返回 null。
https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
var first = document.createElement("p");
您必须创建多个引用变量以附加到每个onbackorder
项目。因为您不能只创建一个并附加到多个项目。
所以我修改了你的代码并让它工作。你可以在下面检查它:
var first = document.createElement("p");
var text = document.createTextNode("On backorder");
first.appendChild(text);
const allBackOrders = document.querySelectorAll('.onbackorder');
allBackOrders.forEach((item) => {
var newItem = first.cloneNode(true);
item.appendChild(newItem);
});
<div class="onbackorder"></div>
<div class="onbackorder"></div>
<div class="onbackorder"></div>
推荐阅读
- eclipse-plugin - featureIDE 中的产品生成不会为每个产品生成正确的功能组合
- android - 如何将两个片段与 Android 导航组件链接?
- windows - 如果使用带有 execute_process 命令的 CMake 脚本模式,如何获得彩色控制台输出?
- office-js - Word 加载项未出现在 Mac 上的 MS Store 中
- ios - 如何在反应原生ios中使用通用链接
- html - 从范围中选择文本的子字符串并与数字进行比较
- python - 如何设置转置 MultiIndex DataFrame 的样式
- c# - 修改存储邮件的地址字段
- c# - 使用 TaskCompletionSource 构建 IAsyncEnumerable
- node.js - 从集合 mongodb nodejs 中获取随机 id