virgulilla varias selectores quitar pseudo operador mismo estilo elementos clases clase avanzados atributos aplicar javascript html css pseudo-element

javascript - varias - selectores de atributos css



css: cómo eliminar los pseudo elementos(después, antes,...) (6)

Como se menciona en la respuesta de Gillian , la asignación de none al content resuelve el problema:

p::after { content: none; }

Tenga en cuenta que en CSS3 , W3C recomienda utilizar dos puntos ( :: :) para pseudo-elementos como antes o después .

Del documento web de MDN sobre pseudo-elementos

Nota: Como regla general, se deben usar dos puntos dobles ( :: :) en lugar de un solo punto (:). Esto distingue pseudo-clases de pseudo-elementos. Sin embargo, dado que esta distinción no estaba presente en las versiones anteriores de la especificación W3C, la mayoría de los navegadores admiten ambas sintaxis por razones de compatibilidad. Tenga en cuenta que ::selection siempre debe comenzar con dos puntos dobles ( :: :).

Me gustaría usar un interruptor para el diseño de las etiquetas de párrafo en una página web.

Yo uso el pseudoelemento posterior

p:after {content: url("../img/paragraph.gif");}

Ahora necesito eliminar este código CSS de la página. ¿Cómo se puede hacer esto fácilmente (jquery ya está usado en la página)? (No quiero incluir ni eliminar archivos que contengan css)


Debe agregar una regla CSS que elimine el contenido posterior (a través de una clase ) ..

Una actualización debido a algunos comentarios válidos.

La forma más correcta de eliminar / deshabilitar por completo la regla :after de usar

p.no-after:after{content:none;}

como respondió Gillian Lo Wong .

Respuesta original

Debe agregar una regla CSS que elimine el contenido posterior (a través de una clase ) ..

p.no-after:after{content:"";}

y agrega esa clase a tu p cuando quieras con esta línea

$(''p'').addClass(''no-after''); // replace the p selector with what you need...

un ejemplo de trabajo en: http://www.jsfiddle.net/G2czw/


Esto depende de lo que estén agregando realmente los pseudoselectors. En su situación, al configurar el contenido en "" se eliminará, pero si está configurando bordes o fondos o lo que sea, debe ponerlos a cero específicamente. Por lo que yo sé, no hay una panacea para eliminar todo sobre un elemento antes / después, independientemente de lo que sea.


$(''p:after'').css(''display'',''none'');



p:after { content: none; }

Esta es una forma de eliminar el :after y puedes hacer lo mismo para :before