我有两个从子菜单执行remove()的jQuery if语句。如果只有一个真实的陈述,它们可以正常工作,但如果有一个id1&页面上的id2,只有第一个if触发器。
if ($('#id1').length==0) { $('#submenu li').eq(2).remove();}
if( $('#id2').length==0) { $('#submenu li').eq(3).remove();}
更新:在下面回答,这是一个简单的索引问题,其中从阵列中撤消删除顺序工作正常。
谢谢。
答案 0 :(得分:2)
这是一个索引问题。通过移除第二个元素,第三个元素现在移动到第二个位置。然后你尝试删除曾经是第3个元素的东西,但是那个索引已经没有了。
要解决此问题,请尝试按相反顺序删除元素,从最高索引到最低索引。
if( $('#id2').length==0) { $('#submenu li').eq(3).remove();}
if ($('#id1').length==0) { $('#submenu li').eq(2).remove();}