从父元素检索数据

时间:2013-11-20 18:45:54

标签: javascript jquery

<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>

有人点击内部锚元素。如何检索数据子菜单值和数据主值?

2 个答案:

答案 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'));

});

DEMO