JavaScript - Simular click de un objeto sin id

   
Vista:

Simular click de un objeto sin id

Publicado por Eva eva@evalopezweb.com (2 intervenciones) el 13/05/2016 17:02:01
Buenas tardes,

Tengo un problemilla que creo que es sencillo pero no doy con ello.
Usando JavaScript quiero ejecutar el evento click de un objeto. Sería muy fácil así:

1
2
3
4
5
6
<script type="text/javascript">
var obj = document.getElementById("godetein");
if (obj){
   obj.click();
}
</script>

El problema es que los objetos no tienen id y no se puede poner. Estos son los objetos:

1
2
<li class="filter" data-filter="portfolio_category_138"><span>Alicante</span></li>
<li class="filter" data-filter="portfolio_category_139"><span>Cádiz</span></li>

Hay que identificarlos de otro modo, pero no lo consigo.

Muchas gracias a todos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Simular click de un objeto sin id

Publicado por Eva (2 intervenciones) el 13/05/2016 22:34:33
Gracias a la ayuda recibida en otro foro, está solucionado:
Os dejo el código utilizado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var obj = findByAttrValue('li', 'data-filter', 'portfolio_category_138');
 if (obj) {
 obj.click();
 }
 
 function findByAttrValue(tag, attr, value) {
 var obj = null;
 var allObjects = document.getElementsByTagName(tag);
 for (var i = 0; i < allObjects .length && obj == null; i++) {
 if (allObjects[i].getAttribute(attr) == value) {
 obj = allObjects[i];
 }
 }
 return obj ;
 }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de xve

Simular click de un objeto sin id

Publicado por xve (1595 intervenciones) el 14/05/2016 08:35:18
Gracias por compartirlo Eva!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Diego

Simular click de un objeto sin id

Publicado por Juan Diego (37 intervenciones) el 14/05/2016 08:54:55
Hola Eva,

También creo te servirá está solución:

1
2
3
4
5
var obj = document.getElementsByClassName('filter');
 
if (obj[0]) {
    obj[0].click();
}

Espero te sirva, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar