首页 > 解决方案 > 如何在 javascript 中向自定义构造函数添加自定义属性?

问题描述

我想用自定义属性制作一个自定义的 javascript构造函数。让我们想象一下它的样子:

 var a = new MyCustomConstructor({
  selector: ".demo",
  html: "Hello World !",
  style: {
     color : "white",
     background : "blue"
  }
 });

上面的示例添加了文本Hello World !对于具有给定样式的类演示的所有元素。我怎样才能真正做到这一点?我想用ES5和ES6来实现它,但没有库。我可以做吗 ?如果是,那怎么办?

提前致谢。

标签: javascriptconstructorproperties

解决方案


我有一个很好的解决方案。所以,这里有一段代码:

 function MyCustomConstructor(stock) {
   var sel = document.querySelectorAll(stock.selector); // Selecting all matching elements in your selector method
   for( var i = 0; i < sel.length; ++i ) {
     sel[i].innerHTML += stock.html; // Setting the text 
     sel[i].style.cssText = stock.style; // Setting css properties with values
     sel[i].style[stock.css.prop] = stock.css.val; // You can also nest them
   };
 };

您可以将其用作:

 var a = new MyCustomConstructor({
   selector: ".demo",
   html: "Hello World !",
   style: "background : blue",
   css: {
      prop: "color",
      val: "white",
   }
  });

推荐阅读