jQuery UI 是一个基于 jQuery 的用户界面交互库,其中的菜单组件(Menu Widget)允许创建可导航的下拉菜单。当遇到"无法获取要呈现的jQuery-ui选定菜单"的问题时,通常是指无法正确获取或显示用户选择的菜单项。
// 正确初始化菜单
$(function() {
$("#menu").menu();
});
对应的HTML结构:
<ul id="menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a>
<ul>
<li><a href="#">Subitem 3.1</a></li>
<li><a href="#">Subitem 3.2</a></li>
</ul>
</li>
</ul>
$(function() {
$("#menu").menu({
select: function(event, ui) {
console.log("Selected:", ui.item.text());
// 或者获取其他属性
console.log("Item ID:", ui.item.attr("id"));
console.log("Href:", ui.item.find("a").attr("href"));
}
});
});
如果菜单内容是动态加载的,需要在内容加载完成后初始化:
$(function() {
// 模拟异步加载菜单内容
setTimeout(function() {
$("#menu-container").html(`
<ul id="menu">
<li><a href="#">Dynamic Item 1</a></li>
<li><a href="#">Dynamic Item 2</a></li>
</ul>
`);
// 必须在内容加载后初始化
$("#menu").menu({
select: function(event, ui) {
alert("Selected: " + ui.item.text());
}
});
}, 1000);
});
确保使用的jQuery和jQuery UI版本兼容:
<!-- 使用兼容版本 -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css">
select
事件而非click
ui.item
对象是否包含预期数据$(function() { ... })
)jQuery UI菜单适用于:
通过以上方法,应该能够解决大多数"无法获取jQuery UI选定菜单"的问题。如果问题仍然存在,建议检查浏览器控制台是否有错误信息,并确保所有依赖项已正确加载。
没有搜到相关的沙龙