0

特定の画面サイズでナビゲーション リンクがドロップダウン メニューに変わるレスポンシブ レイアウトを作成しようとしています。ここにある次のコードを使用しています。

$(function() {
$('ul.selectdropdown').each(function() {
    var $select = $('<select />');

    $(this).find('a').each(function() {
        var $option = $('<option />');
        $option.attr('value', $(this).attr('href')).html($(this).html());
        $select.append($option);
    });

    $(this).replaceWith($select);
});
});

それは私が望むように機能します。ただし、リスト アイテムが最初に持っていた ID は保持されません。元の ID を保持するか、作成されたオプションごとに一意の ID を出力したいと考えています。

これを達成する簡単な方法はありますか?

4

1 に答える 1

1

新しく作成された に ID を割り当てていないようですoptions<li>次のコードは、要素に ではなく id があることを前提としてい<a>ます。

変化する

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

$option.attr('value', $(this).attr('href')).html($(this).html()).attr('id', $(this).parent().attr('id'));
于 2012-04-27T06:02:36.873 に答える