我试图在动态创建的div中添加一个动态创建的元素(使用document.createElement('span') )。
这是我的密码:
// Newplayer div holder
var newPlayer = document.createElement('div');
newPlayer.setAttribute('id', 'player_' + playerID);
newPlayer.setAttribute('class', 'player_entry');
newPlayer.setAttribute('style', 'background-color: ' + getRandomColor());
// Points holder
var playerTotalPointsHolder = document.createElement('div');
playerTotalPointsHolder.setAttribute('id', 'player_' + playerID + "_total_holder");
playerTotalPointsHolder.setAttribute('class', 'player_total_holder');
var playerTotalPoints = document.createElement('span');
playerTotalPoints.setAttribute('id', 'player_' + playerID + "_total");
playerTotalPoints.setAttribute('class', 'player_total');
playerTotalPoints.innerHTML = 0;
// Put the pieces together
playerTotalPointsHolder.innerHTML = "Total: " + playerTotalPoints;但产出如下:
Playername [object HTMLDivElement]所以我的问题是,如何在元素中插入元素?
发布于 2014-04-02 09:28:58
试着改变这一行:
playerTotalPointsHolder.innerHTML = "Total: " + playerTotalPoints;对此:
playerTotalPointsHolder.appendChild(
document.createTextNode('Total: ')
);
playerTotalPointsHolder.appendChild(
playerTotalPoints
);发布于 2014-04-02 09:27:43
playerTotalPointsHolder.innerHTML = "Total: ";
playerTotalPointsHolder.appendChild(playerTotalPoints);发布于 2014-04-02 09:28:59
为此,您需要使用appendChild:
// Setting total score...
playerTotalPoints.innerHTML = "Total: " + 0;
// And pushing `span` to `div`
playerTotalPointsHolder.appendChild(playerTotalPoints);使用playerID 1,这将产生以下HTML:
<div id="player_1_total_holder" class="player_total_holder">
<span id="player_1_total" class="player_total">Total: 0</span>
</div>但是,我建议您不要使用span,而应该使用p作为文本的段落。但即使如此,同样的原则也适用于在一个元素中推入元素。
https://stackoverflow.com/questions/22806896
复制相似问题