如何根据分配给eventDiv元素的counterID将下面的标签(在innerHTML元素中)中的文本更改为变量值?
function addRow() {
var eventDiv = document.createElement('div');
var counterID = counterID + 1;
eventDiv.setAttribute('id', counterID);
eventDiv.className = 'event_cont';
eventDiv.innerHTML =
'<div class="cont" onclick="addRow()">\
<div class="dep_cont">\
<div class="cont_label">\
<label id="dep_cont_label">Departure</label>\
</div>\
<div class="cont_time">\
<label>10:00 AM</label>\
</div>\
<div class="cont_icon">\
<img src="icons/geo_loc.png" width="30px" height="30px" alt="" title=""/>\
</div>\
</div>\
<div class="des_cont">\
<div class="cont_label">\
<label>Destination</label>\
</div>\
<div class="cont_time">\
<label>10:00 AM</label>\
</div>\
<div class="cont_icon">\
<img src="icons/end_RH.png" width="30px" height="30px" alt="" title=""/>\
</div>\
</div>\
</div>';
document.getElementById('tab_cont').appendChild(eventDiv);
document.getElementById('dep_cont_label').innerHTML = document.getElementById('dep_loc_input').value;
}
上述结果仅改变动态创建的第一个元素的标签文本
答案 0 :(得分:0)
因为你为你创建的每个eventDiv使用相同的id。
首先,您应该在函数外部定义CounterID。此外,每次使用此函数创建div并将其附加到'tab_cont'时,您使用的是同一个id的'dep_cont_label','dep_loc_input'。 Id属性应该是唯一的。