JQuery:从元素名称创建数组并创建列表

时间:2014-02-19 18:11:05

标签: javascript jquery html

我想获取元素名称=&gt;制作一个数组=&gt;创建菜单list =&gt;添加一些clickbehaviour CSS。锻炼时我已经找到了获得所有元素的方法,但无法达到他们的名字。 我的目标是<a class="jqsubmenu" name="ELEMENTSNAME"></a>

要制作的HTML代码必须与<div id="#submenu"><ul>...</ul></div>类似。 <li>需要看起来像<li><a href="#ELEMENTSNAME">ELEMENTSNAME</a></li>。单击菜单项时,需要删除#submenu中的任何“活动”类,并且单击的Anchor将获得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");
    });
});     

感谢您的回答,一切顺利!

1 个答案:

答案 0 :(得分:0)

要访问元素的名称属性,请使用

$("A.jqsubmenu").each(function() { optionTexts.push($(this).attr("name")) });