如何在ul(无序列表)中找到下一个li(列表项)的ID

时间:2013-08-08 15:59:22

标签: jquery

我想传递一个<LI>的id函数,并让它返回<UL>中可用的下一个id。

id可能不是有序的,并且<LI>中还嵌套了其他元素,所以我不能只获得下一个元素。

我在网上搜索并尝试了各种组合但没有成功。

HTML:

<ul class="timeline" id="timeline">

    <li id="timelineLI-1A4">
        <div class="timelineIcon letter"></div>
        <div class="dateContainer"></div>
    </li>

    <li id="timelineLI-2">
        <div class="timelineIcon mail"></div>
        <div class="dateContainer"></div>
    </li>

</ul>

JavaScript / JQuery代码:

function openNextTile() {
    console.log(lastTileOpened);

    // Get the current tile that's open
    if (lastTileOpened == null) {
        openFirstTile();
    } else {
        console.log('opening next tile with keyboard');
        var getNextLIID = $('ul#' + 'timelineTile-' + lastTileOpened).next();
        animateTile(getNextLIID);
    }
}

2 个答案:

答案 0 :(得分:3)

这似乎很容易实现:

function getNext(id) {
    return $("#" + id).next("li").attr("id");
}

演示:http://jsfiddle.net/QKRrM/

答案 1 :(得分:0)

var nextId = function( id ) {
    return $('#' + id).next().attr('id');
};

使用示例:

<ul>
    <li id="one">...</li>
    <li id="two">...</li>
</ul>

console.log(nextId('one')); // "two"