尝试将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 () {
}
};
答案 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;
}