Javascript 显示/隐藏多个Div';s

Javascript 显示/隐藏多个Div';s,javascript,html,css,Javascript,Html,Css,将另一个类添加到此脚本的最佳方式是: <script type="text/javascript"> $(document).ready(function(){ $('.carlocation').hide(); $('#parking-options').change(function() { $('.carlocation').hide(); $('#' + $(this).val()).show(); })

将另一个类添加到此脚本的最佳方式是:

<script type="text/javascript">
    $(document).ready(function(){
     $('.carlocation').hide();
      $('#parking-options').change(function() {
        $('.carlocation').hide();
        $('#' + $(this).val()).show();
     });
    });
</script>

使用CSS隐藏元素:

.carlocation, .car-position {
    display: none;
}
从两个div中删除重复的“self”id,并将“self”值添加到两个div的class属性中:

<li>
    <div class="self carlocation">
        <!-- ... -->
    </div>
</li>
<li>
    <div class="self car-position">
        <!-- ... -->
    </div>
</li>
这使得所有
.self
div的可见性基于select的值“self”。如果选择“self”,则所有
div.self
项目都将可见。否则,它们就会隐藏起来

小提琴:

或者您可以将它们滑入视图:

$("#parking-options").on("change", function(){
    $(this).val() === "self"
        ? $("div.self").slideDown()
        : $("div.self").slideUp();
});​

Fiddle:

您的jQuery选择器可以通过在选择器的引号内创建逗号分隔的列表与多个类(或任何其他元素)交互,换句话说:

$('.carlocation, .insertclass, .anotherclass').hide();
编辑:请注意,在某些情况下,区分大小写可能是一个问题,因此“.insertclass”并不总是与“.insertclass”相同,有关详细信息,请参阅

看起来,由于没有将所有选择器都放在同一个引号中,您可能一开始就挂断了。在类之间有一个空格,如
”.carlocation.insertclass“
实际上是说“选择一个类为“insertclass”的元素,它是类为“carlocation”的元素的子元素”

如果要与同一组元素进行多次交互,可以通过将它们分配到变量来优化代码:

var $myselection = $('.carlocation, .insertclass, .anotherclass');
(请注意,将“$”放在变量名中只会帮助提醒您它是一个jQuery对象,您可以随意命名它)

现在,您可以在$myselection上使用任何常规jQuery方法:

$myselection.hide();
$myselection.show();

或者以后再使用它(只要变量在您要查找的范围内可访问,这在您最初的示例中不是问题)。

要选择多个选择器,请尝试以下操作-

$("selector1,selector2")
它肯定会起作用的。
欲了解更多信息,请访问

也许可以看一下:@shayward这个问题有点让人困惑。你能给我们看一下你的标记,或者告诉我们你想要达到什么效果吗?添加了其余的标记。我使用Jquery Mobile,因此有了所有额外的标记。它的两个元素一个是类carlocation,另一个是.insertclass。我尝试了但由于某种原因,该方法不起作用。但当我省略insertClass部分时,脚本工作得非常好。\n是的,一个选择器将激活both@shayward您不能重复使用ID值。您也不能关闭
.car position
div。请发布其余标记,我将在中处理。@shayward I“我已经完成了一个工作。请查看我的更新答案。谢谢,真的让我抓狂。你的代码肯定要简单得多!要扩展这些点,在CSS选择器(和jQuery选择器)中,逗号被视为“或”,不留空格被视为“和”。
$myselection.hide();
$myselection.show();
$("selector1,selector2")