Javascript 在第二个元素之后添加元素

Javascript 在第二个元素之后添加元素,javascript,jquery,css,html,Javascript,Jquery,Css,Html,我得到了一个列表,我想在每秒钟list元素之后添加一个div。 我的问题是第一个元素是span 我想让它像这样: <ul class="timeline"> <span class="topbullet"></span> <li></li> <li></li> <div class="clearfix"></div> <li></li> &l

我得到了一个列表,我想在每秒钟list元素之后添加一个div。 我的问题是第一个元素是
span

我想让它像这样:

<ul class="timeline">
  <span class="topbullet"></span>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
</ul>
<ul class="timeline">
  <span class="topbullet"></span>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
</ul>
但我是这样理解的:

<ul class="timeline">
  <span class="topbullet"></span>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
</ul>
<ul class="timeline">
  <span class="topbullet"></span>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
  <li></li>
  <div class="clearfix"></div>
  <li></li>
</ul>
以下是我使用的JQuery代码:

$(document).ready(function(){
    $(".timeline li:nth-child(2n)").add('.timeline li:last').after("<div class='clearfix'></div>");
})
$(文档).ready(函数(){
$(“.timeline li:nth child(2n)”)。在(“”)之后添加(“.timeline li:last”);
})

您必须将
+1
添加到
2n

$(".timeline li:nth-child(2n+1)")
演示

$(文档).ready(函数(){
$(“.timeline li:nth child(2n+1)”)。在(“added div”)之后添加(“.timeline li:last”);
})


您必须将
+1
添加到
2n

$(".timeline li:nth-child(2n+1)")
演示

$(文档).ready(函数(){
$(“.timeline li:nth child(2n+1)”)。在(“added div”)之后添加(“.timeline li:last”);
})

您可以使用选择器

$(“.timeline li:n类型(2n)”)
.add('.timeline li:last')
.在(“”)之后

您可以使用选择器

$(“.timeline li:n类型(2n)”)
.add('.timeline li:last')
.在(“”)之后


在运行脚本之前,原始html是什么样子的?只是一个提示,列表元素,如
ol
ul
应该只包含有效标记的列表项(
li
)。
div
span
不是
ul
的有效子元素。我不会依赖这个跨浏览器工作的HTML。在运行脚本之前,原始HTML是什么样子的?只是一个平头,列表元素,如
ol
ul
应该只包含列表项(
li
)以进行有效标记。
div
span
不是
ul
的有效子元素。我不会依赖这个HTML跨浏览器工作。很好的解决方案,谢谢你的帮助!但是我更喜欢H77的答案。很好的解决方案,谢谢你的帮助!但我更喜欢H77的答案。