将 DOM 元素创建到集合的项目中

2023-12-29

尝试从模板创建 DOM 元素“gota”。首先我创建模板:

function htmlToElement(html) {
  var template = document.createElement('template');
  template.innerHTML = html;
  return template.content.firstChild;
}

let gota = htmlToElement('<div class="gota"><div class="gota-rastro"><div class="rastro"></div></div><div class="gota-cabeza"></div></div>');

其次,我从 CSS 类“gotea”创建集合,并迭代每个元素以附加模板:

function gotear() {
  let gotas = document.getElementsByClassName('gotea');
  for (let i = 0; i < gotas.length; i++) {
    gotas[i].appendChild(gota);
  }
}
gotear();

这只是将“gota”元素添加到集合中唯一的一个随机元素中:

如何将此模板添加到集合中的所有元素?


你只是在创造one元素。然后你使用相同的元素appendChild多次,所以你move它从一位父母到另一位父母。

您可以使用以下方式克隆元素cloneNode(true) https://developer.mozilla.org/en-US/docs/Web/API/Node/cloneNode并附加克隆:

gotas[i].appendChild(gota.cloneNode(true));

旁注:您可以使用insertAdjacentHTML https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML而不是htmlToElement直接插入基于该 HTML 的元素:

function gotear() {
    let gotas = document.getElementsByClassName('gotea');
    for (let i = 0; i < gotas.length; i++) {
        gotas[i].insertAdjacentHTML(
            "beforeend",
            '<div class="gota"><div class="gota-rastro"><div class="rastro"></div></div><div class="gota-cabeza"></div></div>'
        );
    }
}
gotear();

当然,这意味着重复解析 HTML。但即使在这里没用,在其他地方也可能有用。 (还有insertAdjacentText https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentText.)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 DOM 元素创建到集合的项目中 的相关文章

随机推荐

  • 如何添加清理任务 - 未找到任务“清理”

    我在用https github com eriwen gradle js plugin https github com eriwen gradle js plugin我希望能够 干净 地运行任务 当我运行 gradle d clean 时
  • 将大写字母替换为小写字母

    我正在尝试使用正则表达式将大写字母替换为相应的小写字母 以便 EarTH 1 MerCury 0 2408467 venuS 0 61519726 becomes earth 1 mercury 0 2408467 venus 0 6151
  • 两个简单递归函数的 Big-O 表示法

    我在 Python 中有两个递归函数 只是想知道它们的大 O 表示法 这些的大 O 是什么 def cost n if n 0 return 1 else return cost n 1 cost n 1 def cost n if n 0
  • Windows 10 Iot/UWP 上的 Azure 存储库客户端?

    Windows 10 Iot Core UWP RPi 似乎不支持 Azure 存储客户端 不过 我将它用于 Blob 并且它对于表也可以正常工作 现在 更新到最新的稳定版 和 pre 尝试了两者 后 对表的访问挂起 await table
  • IJulia笔记本中的内核错误--无法在Jupyter中启动内核

    Do you know how to fix this kernel error and what caused it I have called Julia from xterm bash like the following photo
  • Javascript 将日期时间字符串转换为纪元

    所以我放弃了 一整天都在尝试这样做 我有一个字符串 它提供以下格式的日期和时间dd MM yyyy hh mm 04 12 2012 07 00 我需要将其转换为纪元日期 以便我可以对其进行一些计算 我无法修改发送给我的日期时间的格式 Ja
  • 如何检查元素是否没有特定的类?

    如何查看是否有班级 例如 我知道如何检查它是否具有 test 类 但是如何检查它是否不具有 test 类 if this hasClass test if this hasClass test
  • 为什么eclipse编译shell javac或mvn的文件会产生错误:代码太大?

    环境 日食月神 行家3 2 3 java 7 我见过问题 https stackoverflow com questions 2407912 code too large compilation error in java像这样 但我不明白
  • 有没有一种简单的方法可以修剪 NetworkX 图中断开连接的网络?

    我正在使用 Python 的 NetworkX 包来计算不同大小网络的一堆网络统计信息 我正在扫描一个独立的参数 系统地修剪边缘 因此有时小型网络会与主网络断开连接 有没有一种简单的方法可以检测并删除 NetworkX 中那些较小的断开连接
  • Pyspark Dataframe:获取满足条件的上一行

    对于 PySpark DataFrame 中的每一行 我尝试从满足特定条件的前一行获取一个值 也就是说 如果我的数据框看起来像这样 X Flag 1 1 2 0 3 0 4 0 5 1 6 0 7 0 8 0 9 1 10 0 我想要的输出
  • 找不到 JDBC 驱动程序

    try String userName root String password
  • 带 setter 的 mapState

    我想通过分配setter方法mapState 我目前使用一种解决方法 命名我感兴趣的变量 todo 作为临时名称 storetodo 然后在另一个计算变量中引用它todo methods mapMutations clearTodo upd
  • EBNF 转义字符

    我正在尝试为基于 python 的伪语言制作字符串的语法表达式 我想知道如何执行以下操作 字符串以 或 开头或结尾 它可以包含除 n 之外的任何字符 仅当另一个反斜杠开头时才能包含这些字符 例如 Mark said Boo n 公认 我只能
  • 使用 Rails 3 和远程设计 => true

    我在使用 AJAX 登录设备时遇到问题 我正在使用 remote gt true选项和 javascript 帮助程序的 jQuery 版本 https github com rails jquery ujs 当用户输入正确的信息时 会话视
  • 不使用 IFrame 的原因?

    有什么原因吗not到底要使用 iframe 吗 我目前使用它从不同的服务器加载页面 注册页面 分布式应用程序的一部分 以提供无缝体验 使用 iframe 被认为是不好的做法还是可以使用 iframe 是一个很棒的工具 它享有近乎通用的浏览器
  • 如何在 pandas 中用滚动平均值填充 nan 值

    我有一个数据框 其中几个地方包含 nan 值 我正在尝试执行数据清理 其中我用前五个实例的平均值填充 nan 值 为此 我提出了以下建议 input data frame var list fillna input data frame v
  • 如何使用 Xamarin.UITest 在 iOS 上访问照片所需的权限对话框中点击“确定”按钮?

    我正在使用 Xamarin UITest 在 iOS 应用程序上执行自动化 问题是 在访问图库上传照片时 出现一个权限对话框 我需要点击 确定 按钮将其关闭 我尝试过以下方法 但没有成功 使用树命令不会显示该对话框的层次结构 因此我 无法找
  • 抛出 BufferError 的示例

    在阅读 Python 3 3 文档时 我注意到有关 BufferError 异常的条目 当无法执行与缓冲区相关的操作时引发 现在我想知道在什么情况下代码可能会抛出此错误 以确定它是由于编程错误还是更像是某种系统错误 有人有这个例外的例子吗
  • 结构错误找不到记录器“paramiko.transport”的处理程序

    我不确定为什么会收到此错误并终止我的连接 我通过 easy install 从 1 7 5 更新了 paramiko 1 7 6 我正在尝试设置 Fabric 以将 Django 应用程序上传到我的服务器 当我尝试备份现有应用程序目录时 似
  • 将 DOM 元素创建到集合的项目中

    尝试从模板创建 DOM 元素 gota 首先我创建模板 function htmlToElement html var template document createElement template template innerHTML