我已经开始编写一个函数来用自定义 HTML 列表替换选择框。我似乎无法让 ":selected" 选择器被识别为选定的选项。我尝试了一些方法,我的选择框确实有带有选定属性的选项;]
对此的任何帮助都非常感谢。
$('select').each(function(){
var $ulSelect = $('<ul />');
var $options;
var $numSelected = 0;
$options = $('option', this).map(function(index, element){
var $selectedClass = '';
if ($(element).is(':selected')) {
$numSelected++;
$selectedClass = ' class="selected"';
}
return $('<li data-value="'+ $(element).val() +'"'+ $selectedClass +'>'+ $(element).text() +'<a href="#" class="x-link"></a></li>');
}).appendTo($ulSelect);
var $ulSelectWrap = $('<div />')
.addClass('ul-select-wrap')
.prepend($ulSelect)
.prepend('<span class="selected">'+ $('option:eq(0)', this).text() + $activeText +'</span>');
$(this).hide().before($ulSelectWrap);
});