获取完整的嵌套UL / LI路由和验证

时间:2012-10-16 12:52:08

标签: jquery

我有UL/LI

用户将从菜单中选择它们,我需要实现的是获取整个路线的文本行。例如First Level 2 - Second Level 1 - Third Level 1。 而且,与此同时,我想验证右侧没有更多选项。 例如,如果用户单击First Level 2 - Second Level 1我想做某事以便让他知道在FL2 - SL1之后有更多选择(带有true或false的bool变量将完成工作,我可以采取那里有一些警告)

我使用了text属性,但由于菜单是嵌套的而不是单级UL,因此无效。

任何想法都会非常感激。感谢。

2 个答案:

答案 0 :(得分:1)

我使用了锚标记点击事件代替li的点击事件来获取路线并检查是否存在任何其他等级

http://jsfiddle.net/q6yDe/586/

答案 1 :(得分:1)

我可以在http://jsfiddle.net/KVs9C/找到解决方案的尝试。

$("#mylist a").click(function() {
    var path = "",
        moreChoices = $(this).next().size(); 

    console.log("More choices? " + !!moreChoices);

    $(this).parents("li").each(function() {
        path = $(this).find("a:first").text() + " - " + path;
    });
    console.log(path);
});

与fuzionpro一样,我建议你将click-listener添加到anchor-elements而不是li-elements。可以通过遍历所有父li元素并在每个元素中附加第一个锚标记的文本来构造路径。该路径目前以盈余破折号结束,应该删除。