Javascript 交替两个li,不隐藏、切换

Javascript 交替两个li,不隐藏、切换,javascript,jquery,Javascript,Jquery,使用hide and toggle这个脚本可以很好地工作,但是我不喜欢链接的移动,因为我想使用detach()或类似的东西来替换这两个链接。 谢谢 编辑: 当您单击“显示对话”时,“隐藏对话”会略微向右显示,因为隐藏的li会显示出来。 我无法更改css,因为菜单也是通过其他内容自动生成的 $([a[href='hide']).hide(); $([a[href='show'],a[href='hide'])。在('click',函数(e)上{ e、 预防默认值(); $(“a[href='sho

使用hide and toggle这个脚本可以很好地工作,但是我不喜欢链接的移动,因为我想使用detach()或类似的东西来替换这两个链接。 谢谢

编辑

当您单击“显示对话”时,“隐藏对话”会略微向右显示,因为隐藏的li会显示出来。
我无法更改css,因为菜单也是通过其他内容自动生成的
$([a[href='hide']).hide();
$([a[href='show'],a[href='hide'])。在('click',函数(e)上{
e、 预防默认值();
$(“a[href='show'],a[href='hide'])。toggle();
});
#菜单{
浮动:左;
文本对齐:左对齐;
宽度:97%;
背景色:#bab3d6;
高度:20px;
线高:18px;
}
#菜单ul{
左侧填充:10px;
边界:0无;
保证金:0;
}
#菜单里{
显示:内联块;
右边距:5px;
文字装饰:无;
}


我注意到您在jQuery中选择的是
a
标记,而不是
li
标记。我添加了一个
.parent
来选择
li
。如果您不想这样做,您可以简单地删除您设置
li
样式的
左边距

或者 您只需将id添加到您的
li
,并使其可点击即可。这将导致更干净的代码

$([a[href='hide']);
$(“a[href='show']、a[href='hide']).parent()。在('click',函数(e)上{
e、 预防默认值();
$(“a[href='show'],a[href='hide'])parent().toggle();
});
#菜单{
浮动:左;
文本对齐:左对齐;
宽度:97%;
背景色:#bab3d6;
高度:20px;
线高:18px;
}
#菜单ul{
边界:0无;
保证金:0;
左侧填充:5px;
}
#菜单里{
左边距:10px;
显示:内联块;
文字装饰:无;
}


对于列表元素,您可以将其向左浮动并删除列表样式,而不是使用
显示:内联块

$([a[href='hide']).hide();
$([a[href='show'],a[href='hide'])。在('click',函数(e)上{
e、 预防默认值();
$(“a[href='show'],a[href='hide'])。toggle();
});
#菜单{
浮动:左;
文本对齐:左对齐;
宽度:97%;
背景色:#bab3d6;
高度:20px;
线高:18px;
}
#菜单ul{
左侧填充:10px;
边界:0无;
保证金:0;
列表样式:无;
}
#菜单里{
浮动:左;
右边距:5px;
文字装饰:无;
}


你能澄清一下“我不喜欢链接的移动”吗?您可以切换
li
s的隐藏状态,而不是链接。当您单击“显示对话”时,隐藏对话会稍微向右显示,因为隐藏的li为什么不切换
li
而不是
a
链接?不需要css更改。该死,聪明。更新了它。