当前位置: 首页 > 知识库问答 >
问题:

javascript - 这样的效果怎么用构造函数实现?

谭思博
2023-08-10
const el= new genEl("div")el.class("row") // 增加 classel.content("<a>link</a>").style("color: red") // 增加内容并给内容增加颜色(当然还可以 .data() 增加 data-* 之类

请问这样的构造函数如何实现?

共有1个答案

鞠征
2023-08-10
function genEl(tagName) {  this.el = document.createElement(tagName);  this.class = function(className) {    this.el.classList.add(className);    return this;   };  this.content = function(content) {    this.el.innerHTML = content;    return this;   };  this.style = function(styleString) {    this.el.style.cssText = styleString;    return this;   };  this.data = function(key, value) {    this.el.dataset[key] = value;    return this;   };  this.appendTo = function(parent) {    parent.appendChild(this.el);    return this;   };}

使用:

const el = new genEl("div")  .class("row")  .content("<a>link</a>")  .style("color: red")  .data("example", "value")  .appendTo(document.body);
 类似资料: