Я хотел бы получить имена элементов => 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");
});
});
Спасибо за ваши ответы и все самое лучшее!
Для доступа к атрибуту имени элемента используйте
$("A.jqsubmenu").each(function() { optionTexts.push($(this).attr("name")) });