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)
当它到达最后一个元素时,间隔执行两次然后停止.这是我正在努力的网站:
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)