我正在尝试在我的jquery菜单ui中获取所选ui.item的name属性。我需要添加了'selected'类的项的name属性,但attr('name')返回undefined。单击提交按钮时,我需要获取该name属性。
<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>
答案 0 :(得分:1)
ui.item
会返回您点击的<li>
。它没有name
属性。它的孩子所做的<a>
标记。在获得名称之前,您需要首先获取<a>
代码 。
selection = ui.item.addClass('selected').children('a').attr('name');
答案 1 :(得分:0)
根据docs,ui.item是活动元素(单击),而不是您可能假设的li元素。从ui.item开始,您需要ui.item.children('a').attr('name')
来获得您所追求的价值。