【发布时间】:2019-11-30 11:11:27
【问题描述】:
好吧,我正在尝试在另一个标签之前插入一个跨度标签,以根据其他跨度值充当它的 ID。其中有几个具有特定类名的跨度。所以我会循环遍历其中的每一个,以便同时编辑一个。但是我得到的结果只是一个跨度被插入到顶部跨度,或者没有插入跨度。
我已经尝试使用将“id”添加到 inneHTML,如“A-”+class.innerHTML。但这给出了相同的结果。
<h4>ÄN:<span class="nummer">1023</span></h4>
function arendebokstav() {
var nummerid = document.getElementsByClassName("nummer");
var bokstavid = '';
for (var i = 0; i < nummerid.length; i++) {
if (nummerid[i].textcontent <= 999) {
bokstavid = '<span class="newcssclass">A-</span>';
nummerid[i].insertBefore(bokstavid, nummerid[i])
} else if (nummerid[i].textcontent <= 1999) {
bokstavid = '<span class="newcssclass">B-</span>';
nummerid[i].insertBefore(bokstavid, nummerid[i])
} else if (nummerid[i].textcontent <= 2999) {
bokstavid = '<span class="newcssclass">C-</span>';
nummerid[i].insertBefore(bokstavid, nummerid[i])
} else if (nummerid[i].textcontent <= 3999) {
bokstavid = '<span class="newcssclass">D-</span>';
nummerid[i].insertBefore(bokstavid, nummerid[i])
} else if (nummerid[i].textcontent <= 4999) {
abokstavid = '<span class="newcssclass">E-</span>';
nummerid[i].insertBefore(bokstavid, nummerid[i])
}
}
}
没有显示错误消息。我希望它写出“A-999”和“B-1000”等等,但我得到的只是“999”“1000”等等
【问题讨论】:
-
你试过
textContent而不是textcontent吗? -
insertBefore应该在父节点上调用,而不是在你之前插入的节点上。 -
那是很多重复的代码
-
是的,当它第一次工作时会重构代码呵呵
标签: javascript html