简体   繁体   English

使用 createElement() 将 JS 中的 HTML 元素转换为要创建的元素

[英]Convert a HTML element in JS to be created using createElement()

I'm trying to convert a part of code I built, in JS to use more clean solutions.我正在尝试在 JS 中转换我构建的部分代码以使用更干净的解决方案。 I used to return HTML tags as follow:我曾经返回 HTML 标签如下:

return `<option value="${o.id}">${o.name}</option>`;

My goal is to use the create element or another way to write this differently to look cleaner.我的目标是使用 create 元素或其他方式以不同的方式编写它以看起来更干净。

this tag is a par of a map:这个标签是 map 的一个部分:

var selectOptions = response.map(o => {
                return `<option value="${o.id}">${o.name}</option>`;
            });

I would like to understand how to convert this doing like:我想了解如何将其转换为:

var x = document.createElement("option")
var value = "option value";
var text = "option.text"
And append

Or another way more useful in my example.或者在我的示例中更有用的另一种方式。

You can crate an Node wrapper with document.createElement("div") and attach the template String created with node.innerHTML = template ;您可以使用document.createElement("div")创建一个Node包装器,并附加使用node.innerHTML = template创建的template String

const createNodeFromTemplate = (template, wrapper, wrapperAttrs) => {
  const node = document.createElement(wrapper);
  for (const [key, value] of Object.entries(wrapperAttrs)) {
    node.setAttribute(key, value);
  }
  node.innerHTML = template;
  return node;
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何添加类到使用document.createElement创建的元素? - How to add class to element created using document.createElement? 选择使用document.createElement创建的元素jquery / javascript - Selecting an element created using document.createElement jquery/javascript 将事件处理程序(带有参数)添加到使用document.createElement创建的元素 - Adding event handler (with parameters) to element created using document.createElement 由 createElement JS 创建的 Select 标签 - Select tags created by createElement JS 使用 document.createElement 创建父标签时,更改父标签中的 html 元素的 position - Changing html element's position in parent tag when created it with document.createElement 使用 vanilla JS 向动态创建的 html 元素添加点击事件 - Adding a click event to a dynamically created html element using vanilla JS 删除使用 document.createElement 创建的元素 - Delete an element, that was created with document.createElement 稍后使用document.getElementById()定义了使用document.createElement()创建的元素,然后设置了ID - Element created using document.createElement() then setting id is undefined using document.getElementById() later 在JS中选择使用JS创建的html元素 - Select an html element created with JS in JS 使用 JavaScript createElement() 方法在 keydown 上创建的元素不适用于 jQuery draggable() 方法 - Element created on keydown using JavaScript createElement() method won't work with the jQuery draggable() method
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM