Hola, Martin.

Esta código debería resolver tu problema:

var features =
'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=550,height=400';
       var winName = 'Ventana_Informativa';
       var enlaces=document.getElementsByTagName('A');
var longitud=enlaces.length; for (cont=0;cont<longitud;cont++){ if (enlaces[cont].className.indexOf('emenu')!=-1){ //también lo aplicará si el nombre de la clase contiene "emenu"
               enlaces[cont].onclick=function(){
                   window.open(this.href, winName, features);
                   return false;
               }
           }
       }

Saludos,

Vicente Gallur Valero
http://www.vgcomunicacion.com



Martin Campos wrote:

Hola amigos de Ovillo.

Hoy soy yo quien necesita vuestra ayuda. Ya se que esta es una lista de CSS pero creo que aqui habrá gente que podrá ayudarme a resolver el siguiente problema.

Tengo un menu y me da problemas porque usa javascript y el validador de HERA (sidar.org <http://sidar.org>) cuando encuentra: href="javascript: funcion();" me da error. Asi que decidi o utilizar el onclick y el onkeypress o hacerlo con el GetElementById.

Esta es la version con onclick:

<div id="nivel1" class="nivel1">
<a href="http://www.google.com"; class="emenu" title="descripción del enlace">1</a>
</div>

<div id="nivel3" class="nivel1">
<a href="../index.html#" onclick="P7_TMall(1);P7_TMenu(this);return false" onkeypress="P7_TMall(1);P7_TMenu(this);return false" class="emenu" title="descripción del enlace">3</a> </div>

<div id="nivel31" class="subnivel">
<a href="../index.html#" onclick="P7_TMenu(this);return false" onkeypress="P7_TMenu(this);return false" class="emenu" title="descripción del enlace">3.1</a> </div>

Y esta la versión sin onclick:

<div id="nivel1" class="nivel1">
<a href="http://www.google.com"; class="emenu" title="descripción del enlace">1</a>
</div>

<div id="nivel3" class="nivel1">
<a href="../index.html#" class="emenu" title="descripción del enlace">3</a> </div>

<div id="nivel31" class="subnivel">
<a href="../index.html#" class="emenu" title="descripción del enlace">3.1</a>
</div>

<script type="text/javascript">
<!-- var features = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=550,height=400';
var winName = 'Ventana_Informativa';
document.getElementById('nivel1').onclick=function(){
window.open(this.href, winName, features);
return false;
document.getElementById('nivel3').onclick=function(){
window.open(this.href, winName, features);
return false;
document.getElementById('nivel31').onclick=function(){
window.open(this.href, winName, features);
return false;
}
-->
</script>

<noscript>
<br />
<span class="pie">
Su Javascript está desactivado.
</span>
<br />
<br />
</noscript>

ERROR:
eventos dependientes del dispositivo, aquellos que resultan independientes del dispositivo y los que no pueden ser emulados a través del teclado. Deberían utilizarse siempre manejadores de evento lógicos.

Cual es el problema? Que para la segunda version (GetElement ById) necesitaria crear una funcion por cada ítem del menu (1,1.1, ..., 2, 2.1, 2.1.1, ...). Sabes como podria realizar la segunda versión reutilizando la misma función? Ya que el ID tiene que ser único, yo habia pensado en algo asi como un GetElementByClassName o algo asi, y coger los elementos que solo tengan la clase "emenu" y no el id (nivel1, nivel11, ...).

Gracias de antemano.

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo

Responder a