1

所以基本上,我已经多次遇到这个问题,这让我非常沮丧。

我想做的是有这样的代码:

node = document.createElement("option");
textbox = document.createTextNode(currentday.getFullYear() + i);
node.value = currentday.getFullYear() + i;
node.appendChild(textbox);
document.getElementById("pick_up_year").appendChild(node);
document.getElementById("return_year").appendChild(node);

但是此代码仅将节点附加到 return_year (显然是一个选择元素)。

如果我重复这样的代码,它确实有效:

node = document.createElement("option");
textbox = document.createTextNode(currentday.getFullYear() + i);
node.value = currentday.getFullYear() + i;
node.appendChild(textbox);
document.getElementById("pick_up_year").appendChild(node);
node = document.createElement("option");
textbox = document.createTextNode(currentday.getFullYear() + i);
node.value = currentday.getFullYear() + i;
node.appendChild(textbox);
document.getElementById("return_year").appendChild(node);

但这并不优雅,是吗?为什么我被迫重用代码,有没有简单的方法解决这个问题?

HTML基本上是这样的:

<select id="pick_up_days" name="pick_up_day">
    <option value="nojs">Please enable JavaScript</option>
</select>
<select id="pick_up_year" name="pick_up_year">
    <option value="nojs">Please enable JavaScript</option>
</select>
4

1 回答 1

3

您可以尝试使用cloneNode

document.getElementById("pick_up_year").appendChild(node);
document.getElementById("return_year").appendChild(node.cloneNode(true));
于 2012-06-14T16:47:01.630 回答