我将这个简单的代码包装在一个函数中:
slots = timeset / 2;
var oneslot = document.createElement("option");
document.getElementById('presentingslots').appendChild('oneslot');
变量槽明显变化。我想追加孩子的时间x次x =时隙 我该怎么做呢?
答案 0 :(得分:2)
试试这个:
slots = timeset / 2;
for (var i = 0; i < slots; i += 1) {
var oneslot = document.createElement("option");
document.getElementById('presentingslots').appendChild('oneslot');
}
答案 1 :(得分:2)
您可以使用循环(for,while)来执行此操作。
slots = timeset / 2;
var presentingslots = document.getElementById('presentingslots');
for (var i = 0; i < slots; i++) {
var oneslot = document.createElement('option');
presentingslots.appendChild(oneslot);
}
答案 2 :(得分:2)
如果slots
很小,您可以在循环中附加每个元素:
slots = timeset / 2;
for (var i = 0; i < slots; i++) {
var oneslot = document.createElement('option');
document.getElementById('presentingslots').appendChild(oneslot);
}
如果slots
可能很大,那么您需要使用DocumentFragment:
slots = timeset / 2;
var df = document.createDocumentFragment();
for (var i = 0; i < slots; i++) {
var oneslot = document.createElement('option');
df.appendChild(oneslot);
}
document.getElementById('presentingslots').appendChild(df);
由于DOM只更新一次,因此效率会更高。
答案 3 :(得分:1)
一个简单的for循环可以解决问题。您可以设置值以及显示的文本。
var slots = timeset / 2,
el = document.getElementById('presentingslots');
for (var i = 0; i < slots; i++) {
var oneslot = document.createElement('option');
oneslot.text = i;
oneslot.value = 'set my value if you want';
el.appendChild(oneslot);
}