JQuery: создать массив из имени элемента и создать список

0

Я хотел бы получить имена элементов => make array => создать меню в виде списка => добавить некоторый CSS-код clickbehaviour. Когда я тренировался, я уже нашел способ получить все элементы, но не смог достичь их имен. Элементы, на которые я нацелен, выглядят следующим образом <a class="jqsubmenu" name="ELEMENTSNAME"></a>.

HTML-код, который должен быть создан, должен быть похож на <div id="#submenu"><ul>...</ul></div>. <li> должен выглядеть как <li><a href="#ELEMENTSNAME">ELEMENTSNAME</a></li>. При нажатии на элемент меню любые "активные" классы в #submenu необходимо удалить, а щелчок "Якорь" получает class="active".

Вот мои результаты, когда я застрял:

1) Получить элементы:

var optionTexts = [];
$("A.jqsubmenu").each(function() { optionTexts.push($(this).text()) });

2) составить список (как только я надеюсь, есть массив) и записать в DOM

   var SubmenuArray = ['One', 'Two', 'Three'];
    // GENERATE SUBMENU
        var ObjUl = $('<div id="submenu"><ul></ul></div>');
        for (i = 0; i < SubmenuArray.length; i++)
        {
            var Objli = $('<li></li>');
            var Obja = $('<a href="#ARRAYITEM">ARRAYITEM</a>');

        }       // WRITE INTO DOM
        $('#submenuwrap').append(ObjUl);
    }

3) CSS-Gimmick

$( document ).ready(function() {
    $( "#submenu A" ).click(function( event ) {
        $( "#submenu A" ).removeClass("active");
        $( this ).addClass("active");
    });
});     

Спасибо за ваши ответы и все самое лучшее!

  • 0
    Можете ли вы создать jsfiddle.net с кодом, который у вас есть?
Теги:

1 ответ

0

Для доступа к атрибуту имени элемента используйте

$("A.jqsubmenu").each(function() { optionTexts.push($(this).attr("name")) });
  • 0
    Спасибо за быстрый ответ! Когда я использую код в браузере Concole, он возвращает тот же массив, что и мой: [<a class= "jqsubmenu" name= "One"> </a>, <a class = "jqsubmenu" name = "Два"> </a>, <a class= "jqsubmenu" name= "Three"> </a>] Я надеялся получить ['One', 'Two', ' Три']
  • 0
    Если бы Вы могли настроить тест в jsfiddle.net, я мог бы проверить это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню