Javascript 显示和隐藏列表项

Javascript 显示和隐藏列表项,javascript,jquery,Javascript,Jquery,我有以下菜单: <li style="display:none" class=".logged_in">Menu 1</li> <li style="display:none" class=".logged_in">Menu 2</li> <li style="display:show" class=".logged_out">Menu 3</li> 但这似乎不起作用 我还尝试了一些变化,例如: $(".logged_ou

我有以下菜单:

<li style="display:none" class=".logged_in">Menu 1</li>
<li style="display:none" class=".logged_in">Menu 2</li>
<li style="display:show" class=".logged_out">Menu 3</li>
但这似乎不起作用

我还尝试了一些变化,例如:

$(".logged_out").show();
$(".logged_in").show();

知道正确的方法吗?

这两种方法中的任何一种都会隐藏您的元素(除非您应该为属性使用有效值,因为
show
不是一个)

你的问题是在类名中有点。因此,jquery选择器正在查找具有类
logged\u in
logged\u out
的元素,但找不到它们,因为您的类被称为
.logged\u in
logged\u

更改:

<li style="display:none" class=".logged_in">Menu 1</li>
<li style="display:none" class=".logged_in">Menu 2</li>
<li style="display:show" class=".logged_out">Menu 3</li>
菜单1 菜单2 菜单3 要(删除类名中的点):

菜单1 菜单2 菜单3
如果您想使用dot,请查看nem的答案是否正确。但是如果您在类名中有一个点,您可以像这样避开这个点:-

$('.\.登录'.show()


您好
即使元素具有
class=“.logged_in”
,您仍然可以使用以下
选择器表达式以显示/隐藏元素为目标:

$('[class=".logged_in"]').hide();
$('[class=".logged_out"]').show();

显示没有“show”值……请查看mozilla开发者网络中的显示属性,然后再试一次。您的类是以点开始的,还是以点开始的?是的,这是个错误。TXT问题是,它将以类名中包含这些类的所有元素为目标。例如,它还将隐藏class
user_logged_in
的元素,因为它包含class
logged_in
。这种方法不需要
,它将像
$('[class=“.logged_in”]')
@nem,Bg101-感谢您指出这一点。你忘了两个选择器上的尾随单引号:)谢谢,我完全错过了!
<li style="display:none" class="logged_in">Menu 1</li>
<li style="display:none" class="logged_in">Menu 2</li>
<li style="display:show" class="logged_out">Menu 3</li>
$('[class=".logged_in"]').hide();
$('[class=".logged_out"]').show();