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