このコードを含む Fiddle はこちらです: http://jsfiddle.net/enp2T/6/
<select id="aList">
<option value="0">0</option>
<option value="100">100</option>
<option value="200">200</option>
<option value="300">300</option>
</select>
<div id="newListContainer"></div>
$(function() {
var value = 300;
var clonedList = $('#aList').clone();
var listHtml = clonedList
.removeAttr('id')
.val(value)
.wrap('<div/>')
.parent()
.html();
$('#newListContainer').html(listHtml);
//$('#newListContainer>select').val(value);
});
選択した 300 の値が維持されると思っていましたが、listHtml には元のリストの複製が含まれているだけです。私は、オブジェクトを再検索して描画後に値を設定しようとするのが面倒な状況にあります(別の外部ライブラリ関数に渡すと、後でレンダリングが延期され、そのライブラリを直接変更しない限り、完全なコールバックはありません)避けようとしている)。
それで、私はひどく間違ったことをしていますか?癖がありませんか?
明確化: HTML を使用しているライブラリが文字列を想定しているため、HTML を文字列として渡す必要があります。