代码之家  ›  专栏  ›  技术社区  ›  sathish

在javascript中隐藏所有ID

  •  2
  • sathish  · 技术社区  · 16 年前

    我需要隐藏所有标识为“媒体”的标签

    例如。:

    `<div id='media'>contents</div>`
    
    `<div id='media'>content</div>`
    

    如何使用javascript来实现这一点?

    7 回复  |  直到 16 年前
        1
  •  14
  •   Community Mohan Dere    9 年前

    哇,再慢一点!

    ID=标识符=唯一

    您只能使用一次ID #id

    class=类别/组=不唯一

    你可以在任何地方上课 .class 尽你所愿。

    不要将类命名为 .id 那太愚蠢了。
    不生成名为的ID #class 因为那也是愚蠢的。

    document.getElementByClassName(“class”).style.display='无';

    那就行了。

    显然不会,读 this SO Question about the problem.


    jquery实现

    注释 :以下所有示例都假定.hidden是在CSS文件中定义的,如下所示:

    .hidden {
        display: none;
    }
    

    隐藏物品

    按ID隐藏某些内容:

    $("#id").addClass("hidden");
    

    要按类隐藏某些内容:

    $(".class").addClass("hidden");
    

    隐藏事物内部的一切:

    $("#specificSomething *").addClass("hidden");
    

    把全班的东西都藏起来 bacon 在ID内 stomach :

    $("#stomach .bacon").addClass("hidden");
    

    展示物品

    要显示隐藏的所有内容:

    $(".hidden").removeClass("hidden");
    

    要显示隐藏在某事物内部的所有内容:

    $("#specificSomething .hidden").removeClass("hidden);
    

    别忘了!

    您还可以使用内置函数, show() 和 hide() ,像这样:

    $("#specificsomething").hide();
    
    $("#specificsomething").show();
    

    它们还内置了一些幻想,比如基本动画。参考 documentation 使用这些。

    最好不要混淆和匹配这两种方法,你很容易混淆自己,浪费大量时间去追逐愚蠢的错误。


    不要限制自己!

    如果您对jquery不熟悉或不熟悉,请不要忘记您可以执行以下操作:

    • 隐藏任何具有特定颜色的内容。
    • 检查A的第一个字母 <p> 是一个元音,隐藏整个 <P & GT; .
    • 把所有的母音藏在任何地方。
    • 隐藏用户单击的任何内容(精心制作动画时,非常有趣)。

    这些只是JQuery所能提供的一些(公认是愚蠢的)例子。整本书都是新的疯狂的做事方式。它叫 the documentation . 不要害怕它,因为它很大而且充满了文字。潜入!每件事都有例子。尝试一些东西只是为了尝试它们,即使你认为它们不会奏效(你会感到惊讶)。

    我只给你五个例子中最简单的一个。我很可能稍后再回到这个话题上,用更令人敬畏的东西来填充它。

    当用户单击时隐藏任何内容:

    $("*").click(function () { 
         $(this).slideUp(); 
    });
    

    智慧警戒!

    记住,只是因为你不是 做对了并不意味着你 做错了。有时候,你不是 即使这样。

    低俗的双关语警告!

    记住,最好留下来 上等的。

        2
  •  7
  •   Sampson    16 年前
    document.getElementById("media").style.display = 'none';
    

    正如注释中所述,您真的应该每页只使用一次特定的ID值。对多个元素使用类名。

        3
  •  3
  •   Asaph    16 年前

    通常你会用

    document.getElementById('media').style.display = 'none';

    如果你想释放屏幕上的不动产。或

    document.getElementById('media').style.visibility = 'hidden';

    如果你想让空白区仍然存在的话。

    但如果页面上有多个元素 id='media' . 考虑拥有独一无二的 id 不这样做是不好的做法。你使用的方式 身份证件 ,人们通常使用 class . 如果我是你,我会把它们换成 班 . 但是那样的话 getElementById() 不适合解决你的问题。

        4
  •  3
  •   danben    16 年前

    首先,您真的希望使您的“id”属性具有唯一性。你可以用“名字”代替。

    然后,您可以使用 document.getElementsByName('media')

    最后,循环并调用…无论您使用什么来隐藏JS中的元素。我想把显示设为“无”。

        5
  •  3
  •   ACP    16 年前

    试试这个,

    element = document.getElementById("yourcontrol");
    if (element.id == "media")
     document.GetElementById(element).style.visibility = "Hidden"
    

    或

    document.GetElementById(element).style.display= "none"
    
        6
  •  2
  •   Jacob    16 年前

    布兰瑟曼说的是真的。您可能应该使用类而不是ID。然后,如果您想使用jquery,您只需执行以下操作:

    $('.media').css("display", "none");
    
        7
  •  0
  •   Peter Mortensen Pieter Jan Bonestroo    16 年前

    你可以很容易地做到 jQuery .

    例如,jquery允许您选择具有相同ID的所有属性,然后在一个操作中对它们应用一些样式或属性。

    您可以使用以下内容。然后,当您从脚本中的任何位置调用hide函数时,媒体元素将被隐藏。

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
         language="javascript" type="text/javascript">
    </script>
    <script>
    
     var hide = function() {
          $("#media").css("visibility", "hidden");
        }
    
    </script>