使用jQuery将无序列表菜单转换为下拉菜单时,如何添加ID

使用jQuery将无序列表菜单转换为下拉菜单时,如何添加ID,jquery,drop-down-menu,Jquery,Drop Down Menu,我正在尝试创建一个响应性的布局,其中导航链接变成特定屏幕大小的下拉菜单。我正在使用找到的以下代码: $(函数(){ $('ul.selectdropdown')。每个(函数(){ 变量$select=$(''); $(this).find('a').each(function(){ var$期权=$(''); $option.attr('value',$(this.attr('href')).html($(this.html()); $select.append($option); }); $(

我正在尝试创建一个响应性的布局,其中导航链接变成特定屏幕大小的下拉菜单。我正在使用找到的以下代码:

$(函数(){
$('ul.selectdropdown')。每个(函数(){
变量$select=$('');
$(this).find('a').each(function(){
var$期权=$('');
$option.attr('value',$(this.attr('href')).html($(this.html());
$select.append($option);
});
$(此).replaceWith($select);
});
});
它按照我想要的方式工作。但是,它不保留列表项最初拥有的ID。我想保留原始ID,或者为创建的每个选项输出一个唯一的ID


有没有一种简单的方法可以实现这一点?

您似乎没有将ID分配给新创建的
选项。下面的代码假设
  • 元素具有ID,而不是

    改变

    $option.attr('value', $(this).attr('href')).html($(this).html());
    

    $option.attr('value', $(this).attr('href')).html($(this).html());
    
    $option.attr('value', $(this).attr('href')).html($(this).html()).attr('id', $(this).parent().attr('id'));