<ul id="menu">
<li data-main="1">
<a href="/controller/action"></a>
<ul data-submenu="1">
<li><a href="/controller/action"></a></li>
</ul>
</li>
</ul>
有人点击内部锚元素。如何检索数据子菜单值和数据主值?
答案 0 :(得分:1)
类似的东西:
$("#menu a").click(function() {
var submenu = $(this).closest("ul#menu").find("[data-submenu]").data("submenu");
var main = $(this).closest("ul#menu").find("[data-main]").data("main");
});
答案 1 :(得分:0)
由于在点击inner anchor element
时要求您检索值,我只是相应地给出了代码。实际上,通过向其提供id
,可以删除选择该锚元素的这种复杂性。
使用缓存变量(xFirstLevel
)的原因:为了减少不必要的dom traversal
。
试试这个,
$("#menu li li > a").click(function(){
var xFirstLevel = $(this).closest("ul");
alert(xFirstLevel.data('submenu'));
alert(xFirstLevel.closest('li').data('main'));
});