只有第一个if语句在jQuery中执行

时间:2017-01-31 18:10:48

标签: jquery if-statement

我有两个从子菜单执行remove()的jQuery if语句。如果只有一个真实的陈述,它们可以正常工作,但如果有一个id1&页面上的id2,只有第一个if触发器。

if ($('#id1').length==0) { $('#submenu li').eq(2).remove();}

if( $('#id2').length==0) { $('#submenu li').eq(3).remove();}

更新:在下面回答,这是一个简单的索引问题,其中从阵列中撤消删除顺序工作正常。

谢谢。

1 个答案:

答案 0 :(得分:2)

这是一个索引问题。通过移除第二个元素,第三个元素现在移动到第二个位置。然后你尝试删除曾经是第3个元素的东西,但是那个索引已经没有了。

要解决此问题,请尝试按相反顺序删除元素,从最高索引到最低索引。

if( $('#id2').length==0) { $('#submenu li').eq(3).remove();}

if ($('#id1').length==0) { $('#submenu li').eq(2).remove();}