见http://jsfiddle.net/4MEbU/:
$('#mybutton').live('click', function(){
var first = $('#win-doors-pvc fieldset:first');
first.find('select option:selected').attr('selected',false);
$('#win-doors-pvc').append('<fieldset>'+first.html()+'</fieldset>');
});
您的代码不起作用,因为您这样做了
var first = $('#win-doors-pvc fieldset:first').html();
thenfirst
是一个包含 html 的字符串,因此$(first)
给出一个空对象。
而不是这个,first
应该是对元素的引用(不是它的 html 代码):
var first = $('#win-doors-pvc fieldset:first');
所以first.find('select option:selected').attr('selected',false);
效果很好。
当你想要它的 html 代码时,只需使用first.html()
$('#win-doors-pvc').append('<fieldset>'+first.html()+'</fieldset>')
编辑:
如果您希望新元素具有与第一个相同的option
selected元素,则select
可以移动自身:
$('#mybutton').live('click', function(){
var first = $('#win-doors-pvc fieldset:first');
$('#win-doors-pvc').append(first);
$('#win-doors-pvc').prepend(first.clone(true,true));
});
在这里看到它:http: //jsfiddle.net/4MEbU/3/