Jquery ui jquery attr('name')返回未定义

Jquery ui jquery attr('name')返回未定义,jquery-ui,menuitem,Jquery Ui,Menuitem,我正在尝试获取jquery菜单ui中所选ui.item的name属性。我需要添加了“selected”类的项的name属性,但attr“name”返回undefined。我需要在单击submit按钮时获取该名称属性 <script> $(function () { var selection = ' '; $(".menu").menu({ select: function (event, ui) {

我正在尝试获取jquery菜单ui中所选ui.item的name属性。我需要添加了“selected”类的项的name属性,但attr“name”返回undefined。我需要在单击submit按钮时获取该名称属性

<script>
    $(function () {
        var selection = ' ';

        $(".menu").menu({
            select: function (event, ui) {
                $('.selected', this).removeClass('selected');
                selection = ui.item.addClass('selected').attr('name');
            } // closes select function
        }); // closes menu

        $("button").button();
        $("button").click(function () {
            alert(selection)
        }); //closes click()
    });
</script>

<ul class="menu" id="menu">
    <li>
        <a href="#" name="academic_artStudies">
            <img src="" alt="" />
            <h2>Academic: Art Studies</h2>
        </a>
    </li>
    <li>
        <a href="#" name="academic_Literature">
            <img src="" alt="" />
            <h2>Academic: Literature</h2>
        </a>
    </li>
    <li>
        <a href="#" name="academic_socialSciences">
            <img src="" alt="" />
            <h2>Academic: Social Sciences</h2>
        </a>
    </li>
    <li>
        <a href="#" name="academic_physicalNaturalSci">
            <img src="" alt="" />
            <h2>Academic: Physical/Natural Sciences</h2>
        </a>
    </li>
</ul>

item返回您单击的内容。它没有name属性。根据,ui.item是单击的活动元素,而不是您可能假设的li元素。从ui.item中,您需要执行ui.item.children'a'.attr'name'以获取所需的值。

ui.item是元素。不,ui.item是元素的jquery集合。ui.item[0]是本例中的第一个也是唯一一个元素。请检查文档。我知道这是一个jQuery对象,它包含一个元素。我在评论你的ui。item是单击的活动元素,而不是li元素。这是不正确的。
selection = ui.item.addClass('selected').children('a').attr('name');