2010-09-06 7 views
30

El elemento es:.eliminar visualización de atributos: ninguno; así que el artículo será visible

span { 
    position:absolute; 
    float:left; 
    height:80px; 
    width:150px; 
    top:210px; 
    left:320px; 

    background-color:yellow; 

    display:none;     //No display     
    border: 3px solid #111; 
} 

utilizo este código para eliminar la pantalla para que pueda ser visible,

$ ("span") removeAttr ("pantalla ");

pero no funciona. ¿El método que uso es válido o hay alguna otra forma de obtener el resultado?

Respuesta

43

Para este propósito particular, $("span").show() debe ser lo suficientemente bueno.

23

$('#lol').get(0).style.display=''

o ..

$('#lol').css('display', '') 
12

La función removeAttr() solo elimina los atributos HTML. El display no es un atributo HTML, es una propiedad CSS. Le gustaría usar la función css() en su lugar para administrar las propiedades de CSS.

Pero jQuery ofrece una función show() que hace exactamente lo que quiere en una llamada concisa:

$("span").show(); 
0

El jQuery que utiliza es manipula el DOM, CSS no es el mismo. Intente cambiar la palabra span en su CSS para .mySpan, a continuación, aplicar esa clase de uno o más elementos DOM en el código HTML de este modo:

... 
<span class="mySpan">...</span> 
... 

A continuación, cambiar su jQuery de la siguiente manera:

$(".mySpan").css({ display : inline }); 

Este debería funcionar mucho mejor.

¡Buena suerte!

+0

esta conserva el estilo original, bueno, gracias! – roberthuttinger

3

Debe eliminar el "estilo" de atributos en lugar de la propiedad "pantalla":

$("span").removeAttr("style"); 
+1

Si elimina el estilo, restablece completamente el estilo. No creo que alguien que abre esta pregunta quiera hacer esto. –

0

Si usted está planeando para ocultar mostrar cierto período basado en evento de clic que se oculta inicialmente con style = "display: none" entonces .toggle() es la mejor opción para ir.

$ ("span"). Toggle();

Razones: Cada vez que no necesita comprobar si el estilo ya está allí o no. .toggle() se ocupará de eso automáticamente y ocultará/mostrará el lapso según el estado actual.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="button" value="Toggle" onclick="$('#hiddenSpan').toggle();"/> 
 
<br/> 
 
<br/> 
 
<span id="hiddenSpan" style="display:none">Just toggle me</span>

Cuestiones relacionadas