2009-02-02 77 views

Respuesta

8

no ser pedante, pero HTML es un lenguaje de marcado, y no es útil para la lógica condicional.

Habiendo dicho eso, parece que lo que estás buscando es un poco de javascript. Si pudiera agregar un poco más de detalle a su pregunta, podría detallar cómo podría usar javascript para realizar tareas con lógica condicional.

+1

No creo que estés siendo pedante ... acertar: HTML solo para el marcado. – Jayx

+1

Muy tarde con esta observación, pero ¿no es PHP la solución para casos if/else? Si un usuario no tiene javascript habilitado en su navegador o el javascript no es de navegador cruzado (o tiene errores), puede terminar con resultados inesperados y no deseados. PHP no hace una evaluación del lado del cliente por lo que el resultado final es más predecible. Me encanta JavaScript, pero no debería ser una solución para todo. – xaddict

+1

Bueno, para ser honesto, todo es tarde sobre eso. Todos los principales navegadores tienen una gran compatibilidad con JavaScript. Claro, javascript no siempre es universal, pero normalmente hay alguna solución extraña para cada motor de navegación que lo necesita. – hellol11

5

HTML fue diseñado para la disposición del documento por lo que el noscript y noframes son lo más cercano que llega a manejar HTML condicionales. Es concebible que abordes este problema con javascript.

<div id='if-part' style='visibility: hidden;'>do something</div> 
<div id='else-part' style='visibility: hidden'>do something</div> 

<script> 
    var node; 
    if(true) { 
     node = document.getElementById('if-part'); 
    } 
    else { 
     node = document.getElementById('else-part'); 
    } 
    node.style.visibility = 'visible'; 
</script> 

por supuesto, esto solo funciona si el cliente tiene activado javascript.

+0

¿Qué pasa con la etiqueta

+0

cierto, pero solo si javascript está deshabilitado del lado del cliente. –

4

La representación condicional de HTML no es un concepto nuevo, pero no se puede hacer utilizando exclusivamente HTML. Tendría que usar el scripting del lado del cliente o el código del lado del servidor para proporcionar la lógica condicional que representaría su HTML en consecuencia.

2

Como se ha dicho en otras publicaciones, HTML no es compatible con la lógica condicional. Usted tiene dos opciones aquí:

1) Generar el código HTML de forma dinámica mediante tecnologías como PHP o XSLT

2) modificar el DOM HTML después de los hechos usando Javascript

3

¿Te tipo es cada vez codificado un correo electrónico? Todo su script java es eliminado por google. Además, gmail en Android no admite consultas de medios, y las diferentes versiones de Outlook tienen sus propias peculiaridades. No tiene más remedio que usar HTML condicional si desea enviar correos electrónicos que rindan bien en una variedad de clientes de correo electrónico.

Esto es muy parecido al segundo ejemplo:

<!--[if gte mso 9]> 
    <style type="text/css"> 
    /* Your Outlook-specific CSS goes here. */ 
    </style> 
<![endif]--> 

Sin embargo, si no se va a través de un cliente de correo electrónico que tendría que estar de acuerdo con todos los demás y decir que usted debe utilizar Java Script.