2010-08-24 39 views
5

Tengo un elemento html que quiero ocultar de la vista, pero no puedo acceder a ese elemento por una ID porque no tiene ID y no puedo asignarle una ID. Sin embargo, tiene una clase asignada. ¿Hay alguna manera posible de ocultar este elemento sin tener su id?Javascript: Ocultar elementos por nombre de clase

+0

posible duplicado de [Cómo getElementByClass en lugar de GetElementByID con javscript?] (Http://stackoverflow.com/questions/1933602/how-to-getelementbyclass-instead-of-getelementbyid-with-javscript) – recursive

Respuesta

5

Hay getElementsByClassName en algunos navegadores, pero no es tan ampliamente compatible como getElementById. Tenga en cuenta que produce una matriz de elementos, en lugar de solo un elemento, ya que varios elementos pueden tener la misma clase.

Si se puede asignar un ID a un padre que podría ser capaz de acceder a él de alguna otra manera:

document.getElementById('parent').getElementsByTagName('div')[3] // or whatever 
+0

de acuerdo ... puedo acceder a él a través de una identificación para padres. ¿Cómo podría esconderlo de la vista después de acceder? – lewisqic

+0

No importa, lo descubrí ... var elements = document.getElementById ('home_poll'). GetElementsByTagName ('a'); \t \t elementos [2] .style.display = "none"; – lewisqic

2

el archivo HTML siguiente contiene código para cambiar, ocultar, mostrar div por clase y la identificación. Al usar la clase, es posible ocultar un conjunto (grupo) de divisiones.

<head> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
    /*function to toggle visibility of class*/ 
      function toggle_visibility(classname) { $("."+classname).toggle(); } 
    /*function to hide class*/ 
      function hide_visibility(classname) { $("."+classname).hide(); } 
    /*function to show class*/ 
      function show_visibility(classname) { $("."+classname).show(); } 
    /*function to hide individual div by id*/ 
      function hide_visibility(classname) { $("#"+classname).hide(); } 
    /*function to show individual div by id*/  
      function show_visibility(classname) { $("#"+classname).show(); } 
    </script> 

</head> 

<body> 

    <button onclick="toggle_visibility('class1');">Toggle visibility of class 1</button><br/> 
    <button onclick="hide_visibility('class1');">Hide class 1</button><br/> 
    <button onclick="show_visibility('class1');">Show class 1</button><br/> 
    <button onclick="show_visibility('heading1');">Show heading 1</button><br/> 
    <button onclick="hide_visibility('heading1');">Hide heading 1</button><br/> 

    <div class="class1" id="heading1"><h1>Heading 1</h1></div> 
    <div class="class1"><h2>Heading 2</h2></div> 
    <div class="class1"><h3>Heading 3</h3></div> 
    <div class="class1"><h4>Heading 4</h4></div> 
    <div class="class1"><h5>Heading 5</h5></div> 
    <div class="class1"><h6>Heading 6</h6></div> 

</body> 
Cuestiones relacionadas