创建具有关联dom元素的javascript对象的首选方法是什么?

时间:2015-03-09 18:08:59

标签: javascript object dom

目前我这样做:

function createPlayer(id) {
  var playerWrapper = document.createElement("div");
  document.body.appendChild(playerWrapper);

  var player = document.createElement("div");
  playerWrapper.appendChild(player);

  var Player = {
    wrapper: playerWrapper,
    player: player
  }

}

只是想知道这是否是最好的方式,或者是否有某种方法我可以同时创建dom元素和对象?该对象还将附加方法。对象和相关元素也会有多个实例。

2 个答案:

答案 0 :(得分:2)

appendChild函数返回附加节点,因此您可以创建一个空对象并将返回的节点直接分配给对象,如下所示: http://jsfiddle.net/v7xeLnot/1/

function createPlayer(id) {
    var Player = {}
    var playerWrapper = document.createElement('div');
    Player.wrapper = document.body.appendChild(playerWrapper);

    var player = document.createElement('div');
    Player.player = playerWrapper.appendChild(player);   

    return Player;

}
var myPlayer = createPlayer("someId");

答案 1 :(得分:1)

代码本身应该以面向对象的方式编写,如here

此外,您应该使用jQueryappend()方法,而不是普通document.createElementappendChild。这将确保跨浏览器兼容性,并使您更容易编写其他功能。

如果您需要创建大量html,可以考虑一些templateing engine