Javascript Append()不在if语句内部工作,该语句位于内部。每个循环jquery

Javascript Append()不在if语句内部工作,该语句位于内部。每个循环jquery,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我需要在ulli中的第四个元素后面附加一些文本,所以我使用append函数。问题是,如果语句在每个函数中都不起作用,并且它在每个li元素之前追加 下面是HTML标记 <ul class="gallery"> <li><a href="#">Some Text</a></li> <li><a href="#">Some Text</a>

我需要在ulli中的第四个元素后面附加一些文本,所以我使用append函数。问题是,如果语句在每个函数中都不起作用,并且它在每个li元素之前追加

下面是HTML标记

<ul class="gallery">
  <li><a href="#">Some Text</a></li>
  <li><a href="#">Some Text</a></li>
  <li><a href="#">Some Text</a></li>
  <li><a href="#">Some Text</a></li>
  <li><a href="#">Some Text</a></li>
  <li><a href="#">Some Text</a></li> 
</ul>
这是jquery代码

$('.gallery li').each(function( index ) {
        var count = 3;
        if( index == count){
            $( ".gallery li a" ).append('<span>Learn More</span>');
        }
    });
$('.gallery li')。每个(函数(索引){
var计数=3;
如果(索引==计数){
$(“.gallery li a”).append('Learn More');
}
});

问题是什么?有没有其他方法可以实现这一点?

您可能只想附加到当前正在迭代的列表项中:

$('.gallery li')。每个(函数(索引){
var计数=3;
如果(索引==计数){
$(this.find('a')。append('learnmore');
}
});


如果您的目标是针对第四个元素,则不需要循环。您可以使用
:eq()
直接选择它。请注意,索引是从零开始的,因此第四个元素是index
3
。试试这个:

$('.gallery li:eq(3)a')。追加('Learn More')


为什么不直接使用
$('.gallery li:eq(3)a')。附加(…)
?很明显,你想做什么。不太明显的是为什么你认为这会起作用?
$(“.gallery li a”)
的哪一部分说它应该只附加到循环中的当前项?我不是想把你挑出来。有数百个这样的问题,似乎大家都期望选择器只在当前循环元素的上下文中应用