为什么eq在使用之后不能在jquery中工作?

时间:2017-07-13 16:03:45

标签: javascript jquery

为什么eq在使用之后不能在jquery中工作?我在按钮点击时使用html插入我的after。我试过这样

$(function(){
$('#btn').click(function(){
  $(".topics-content").children("ul").eq(0).find("li").eq(3).after($(".reco_inlineslider.show34").eq(0));

})
});

这是我的代码 https://jsbin.com/cenegabale/edit?html,js,output

单击按钮后

当前输出

1
2
3
   11
   dddd
    22
    33
4
5
6

预期输出

1
2
3
  11
  22
  33
4
dddd
5
6

我想在html文字之后插入4

3 个答案:

答案 0 :(得分:0)

使用它:

$(function(){
$('#btn').click(function(){
$(".topicscontent").children("ul").eq(0).children("li").eq(3).after($(".reco_inlineslider.show34").eq(0));
})
});

或使用

find(6)

而不是

find(4)

答案 1 :(得分:0)

而不是.find("li").eq(3)使用.cildren("li").eq(3),find会搜索所有嵌套元素,而孩子会考虑直接孩子。

答案 2 :(得分:0)

这是因为find("li")找到了ul里面的所有lis,而不只是它的子句。

所以你要么像{ul}那样使用.children('li'),要么.find('> li')