如何在构建滑块时使用jquery选择第一个子节点或兄弟节点

时间:2012-03-08 10:46:33

标签: jquery jquery-selectors

我有以下标记

<div class="content chapters current-tab">
    <div class="right">
        <div id="chapters-container-29" style="">
        <div id="chapters-container-10" style="display: none">
   </div>
</div>`

这个jquery代码:

var direction = $(this).data('direction'),
    visibleContainer = $('div[id^=chapters-container-]:visible'),
    container = $('div[id^=chapters-container-]');

    if (direction === 'next') {
            if (visibleContainer.is(':last-child')) { 
                visibleContainer.hide(); 
                container.first().show();
            }

            visibleContainer.hide();
            visibleContainer.next().show();
        } else {               
            if (visibleContainer.is(':first-child')) {
                visibleContainer.hide();
                container.last().show();
            }

            visibleContainer.hide();
            visibleContainer.prev().show();
        }`

这是一个滑块....当我在最后visibleContainer.is('last-child')它工作正常,但当我是@start并点击之前它不起作用。 visibleContainer.is(':first-child')无效。

1 个答案:

答案 0 :(得分:1)

您是否尝试过this

无论如何,这段代码将起作用:

if (direction === 'next') {
    if (visibleContainer.is(':last-child')) { 
        visibleContainer.hide(); 
        container.first().show();
    } else {
        visibleContainer.hide();
        visibleContainer.next().show();
    }
} else {               
    if (visibleContainer.is(':first-child')) {
        visibleContainer.hide();
        container.last().show();
    } else {
        visibleContainer.hide();
        visibleContainer.prev().show();
    }
}