只是好奇是否有人对这种jQuery行为有所了解,这对我来说似乎有些不对劲。
我有一个空的选择表单元素,我想要附加选项,其中一个是通过将其包装在一个显示样式设置为无的span元素中隐藏的。
代码段1 - 附加选项但忽略span元素:
var myOptions = '<option value="1">1</option><span style="display:none;"><option value="2">2</option></span>';
$('#mySelect').append(myOptions);
摘录2 - 按预期工作:
var myOptions = '<option value="1">1</option><option value="2">2</option>';
$('#mySelect').append(myOptions);
$('#mySelect').find('options:eq(1)').wrap('<span style="display:none;"/>');
答案 0 :(得分:4)
<select>
唯一有效的子元素是<option>
和<optgroup>
(由Marcell提供)
答案 1 :(得分:0)
请勿附加要隐藏的选项,而是将其存储在选择中。
var myOptions = $.parseHTML('<option value="1">1</option><option value="2">2</option>');
$('#mySelect').append(myOptions.eq(0)).data("hiddenOptions",myOptions.eq(1));
现在,如果您想要将其添加回来,它可以方便地存储在选择的数据对象上。
$("#mySelect").data("hiddenOptions").appendTo("#mySelect")