查找父母的父母和第一个孩子

pas*_*ata 11 jquery children parent css-selectors

我试图找到一个元素的父亲,它是父亲的第一个孩子,代码是这样的:

        <ul class="lowerMenu">
            <li><a href="" class="selected">Welcome</a></li>
            <li><a href="">Logo</a></li>
            <li><a href="">Websites</a></li>
            <li><a href="">Stationery</a></li>
            <li><a href="">Illustration</a></li>
            <li><a href="">Full Pack</a></li>
        </ul>

function setIntervalAndExecute() {
    changeImages();
    setTimeout(function(){
        showImages(imagesArray);
    },500);
    var intervalot = window.setInterval(function(){
        changeImages();
        var selected = $('.selected');
        if (!selected.parent().is(':last-child')) {
            $('.selected').parent().next().children().addClass('selected');
            selected.removeClass('selected');
        } else {
            $('.selected').parent().parent().children(':first-child').addClass('selected');
            selected.removeClass('selected'); // nesho ne mi rabotit ovdeki
        }
        window.setTimeout(function(){
            showImages(imagesArray);
        },500);
    },10000);
    return intervalot;
}
var intervalot = setIntervalAndExecute();
Run Code Online (Sandbox Code Playgroud)

我知道它有点复杂,但我是jquery的新手,所以我要做的是在"选定"类到达最后一个元素之后,我想删除它并将其设置为第一个元素.我试过这个,但似乎没有用

$('.selected').parent().parent().children(':first-child').addClass('selected');
Run Code Online (Sandbox Code Playgroud)

当它到达最后一个元素时,间隔执行两次然后停止.这是我正在努力的网站:

http://nikodola.com/testsite

Bar*_*mar 20

如果你上升两个级别,然后找到下一个孩子,你只会下降一个级别 - 你正在设置selected课程<li>,而不是<a>下面的..你需要再下一个级别.所以它应该是:

$('.selected').parent().parent().children(':first-child').children().addClass('selected');
Run Code Online (Sandbox Code Playgroud)

另一种方法是:

$('.selected').parent().siblings(':first-child').children().addClass('selected');
Run Code Online (Sandbox Code Playgroud)