在Javascript中创建HTMLdivElement对象

时间:2014-10-29 05:10:15

标签: javascript

尝试将String转换为HTMLDivElement对象。我知道如何创建一个字符串,我只是不确定如何创建HTMLDivElement。

例如,如果我想转<div id="cardId" class="card c9"></div>

真正理解HTMLDivElementObject也是一件好事。

编辑:

我也知道有通用属性,例如id(字符串),样式(对象),标题(字符串)和className(字符串)。

以下是我的功能和方法。如您所见,我尝试创建toElement方法。我需要的是返回表示Card的HTMLDivElement对象的方法。需要返回的示例如上<div id="cardId" class="card c9"></div>

var cardProto = {
// creates the HTML string representing this element
    "toString": function (){
        var s = this.card.getSuit(), r = this.card.getRank();
        var t = "<div class=\"card ";
        t += s !== undefined ? s + r : "down";
        t += "\" id=\""+ this.id + "\"></div>\n";
        return t;
    },

    "toElement": function () {


    }
};

3 个答案:

答案 0 :(得分:2)

"toElement": function () {
  var dummy = document.createElement("div");
  dummy.innerHTML = this.toString();
  return dummy.children[0];
}

答案 1 :(得分:0)

想出来的人。要设置Id,我需要为类使用.id和.className。

"toElement": function () {

    var s = this.card.getSuit(), r = this.card.getRank();

    var div = document.createElement('div');
    div.id = 'cardId';
    div.className = "card " +s+r;

    return div;

}

答案 2 :(得分:0)

假设您要将字符串转换为元素,可以使用RegEx执行此操作:

"toElement": function () {
    var string = '<div id="cardId" class="card c9"></div>'

    var e = /<(.+?)\s/g.exec(string)[1];
    var id = /id="(.+?)"/g.exec(string)[1];
    var cls = /class="(.+?)"/g.exec(string)[1];
    var element = document.createElement(e);
    element.hash = id;
    element.className = cls;
}