如何以面向对象的方式创建DOM元素?

时间:2016-06-08 01:25:54

标签: javascript javascript-objects

我知道您可以创建任何元素,例如" a"标签,使用

document.createElement('a')

您如何以更加面向对象的方式设计它?这是正确的方法吗?

function Button(){
  this.style.tagName = 'a';
  this.setAttribute('href', some_link);
  this.style.padding = '10px';
}

var pinkButton = new Button();
pinkButton.style.backgroundColor = 'pink';

document.getElementById('blah').appendChild(pinkButton)

并将其显示在元素ID 'blah'

下的页面上

1 个答案:

答案 0 :(得分:1)

如果您基本上想要子类型按钮,那么您可以执行类似这样的操作

var customButtonFactory = function(bgColor){
  var button = document.createElement("button");
  button.style.background = bgColor;
  //do all the other custom styling you want for the button
  return button;
}

它取决于onclick函数的不同,你可以传入一些参数来在工厂内构建函数......或者你可以直接将函数作为参数传递。