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(明らかにselect要素)に追加するだけです。

次のようなコードを繰り返すと機能します。

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 に答える