Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] querySelector()

Estas en el tema de querySelector() en el foro de Javascript en Foros del Web. Buenas tardes, Os dejo un codigo sacado de un libro, no me funciona i creo que se el porque. codigo: var logo function iniciar(){ logo=document.querySelector('#CabeceraPágina ...
  #1 (permalink)  
Antiguo 09/02/2015, 09:13
 
Fecha de Ingreso: febrero-2015
Mensajes: 7
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta querySelector()

Buenas tardes,
Os dejo un codigo sacado de un libro, no me funciona i creo que se el porque.

codigo:
var logo
function iniciar(){
logo=document.querySelector('#CabeceraPágina img');
logo.addEventListener('click',cambio)
function cambio(){
logo.style.border='15px solid black';
}
}
addEventListener('load',iniciar)

Simplemente saber si se puede utilizar querySelector() con id + elemento html.
la solucion que he encontrado es la de dar una classe a la imagen i llamar directamente la classe pero lo veo poco efectivo. Si alguno tiene alguna otra solucion mas efectiva o distinta estoi abierto a propuestas.
muchas gracias.
  #2 (permalink)  
Antiguo 09/02/2015, 10:59
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: querySelector()

Selectores CSS
  #3 (permalink)  
Antiguo 12/02/2015, 22:01
Avatar de jsstoni  
Fecha de Ingreso: enero-2015
Ubicación: Maracaibo
Mensajes: 82
Antigüedad: 9 años, 3 meses
Puntos: 4
Respuesta: querySelector()

CabeceraPágina supongo que por el acento amigo
__________________
Desarrollo web Front End Realtime NodeJs
  #4 (permalink)  
Antiguo 23/02/2015, 08:45
 
Fecha de Ingreso: febrero-2015
Mensajes: 7
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: querySelector()

<header id="CabeceraPagina" class="sombra">
<hgroup>
<h1 class="h1a">La música como terapia</h1>
<h2 class="h2a">para el cuerpo y el alma</h2>
</hgroup>
<img src="Imagenes/logo.jpg" alt="Firma de Contxita Bentz con teclado de fondo">
</header>

os dejo parte del html,

#CabeceraPagina h1{
font-size:350%;
text-align:center;
line-height:0%;
font-variant:small-caps;
}

#CabeceraPagina h2{
font-size:250%;
text-align:center;
line-height:0%;
}

#CabeceraPagina{
overflow:hidden;
background:-webkit-linear-gradient(top, #99CC00, #99CC99 30%);
}

header:not(#CabeceraPagina){
background-color:rgba(255,255,255,0.8 );
}

i parte del css, aver si os lo puedo poner mas facil para poder buscar la solucion,
he cambiado el tema de los accentos i nada,
muchas gracias,
  #5 (permalink)  
Antiguo 23/02/2015, 09:05
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: querySelector()

Por supuesto que podés utilizar el query selector de la manera que decís. Tu problema radica en que pusiste un acento de llamar por el id, y el id no tiene ese acento (igualmente no pongas acentos en los id!).

Esta así:

Código Javascript:
Ver original
  1. logo=document.querySelector('#CabeceraPágina img')

Debería ser:

Código Javascript:
Ver original
  1. logo=document.querySelector('#CabeceraPagina img')

Saludos
  #6 (permalink)  
Antiguo 23/02/2015, 09:21
 
Fecha de Ingreso: febrero-2015
Mensajes: 7
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: querySelector()

al decirme jsstoni lo de los accentos los cambie todos, ahora CabeceraPagina del js esta sin accento.
Aun asi sigue sin hacer nada....
me esta sacando de quicio.
gracias,
Se que me explico mal, lo siento empiezo aora a utilizar foros, tengo qe aprender.
  #7 (permalink)  
Antiguo 23/02/2015, 10:55
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: querySelector()

Lamento, no había leído su comentario. Y qué es load? Por qué no asignas directamente una función al elemento?

Código Javascript:
Ver original
  1. var logo = document.querySelector('#CabeceraPagina img');
  2.  
  3. logo.onclick = function() {
  4.     logo.style.border='15px solid black';
  5. }
  #8 (permalink)  
Antiguo 25/02/2015, 08:36
 
Fecha de Ingreso: febrero-2015
Mensajes: 7
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: querySelector()

load es para decirle que haga la función cuando acabe de cargar la pagina es parecido al click, eso debe funcionar, lo havia utilizado en un par de ejercicios antes. te puedes creer que ni el codigo que me has dado me funciona, no entiendo nada.... bueno voi a passar a otra cosa que esto me tiene atascado hace demasiado tiempo... ire mirando de vez en cuando aver si alguien me ilumina ;) muchissimas gracias x todo i sobre todo x vuestra atencion.
  #9 (permalink)  
Antiguo 25/02/2015, 09:00
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: querySelector()

En qué navegador y versión estás probando el código? Revisaste la tabla de compatibilidades para querySelector()? Ante la desesperación de no poder resolverlo, probá agregando un id a la imagen y llamando al elemento con ese id.

Código HTML:
<img src="Imagenes/logo.jpg" id="logo" alt="Firma de Contxita Bentz con teclado de fondo" />
<script type="text/javascript">
    var logo = document.getElementById("logo");
         
          logo.onclick = function() {
              logo.style.border='15px solid black';
          }
</script> 
Si con eso funciona, es un problema de compatibilidad con querySelector(). Yo lo probé en un par de browsers y el código que te pasé funciona.

Saludos y suerte :)
  #10 (permalink)  
Antiguo 02/03/2015, 08:08
 
Fecha de Ingreso: febrero-2015
Mensajes: 7
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: querySelector()

será eso lo mas seguro,
lo que me dices lo he probado i me funciona, i utilizando una classe para la imagen tamb funciona, pero no lo veo util.

Código Javascript:
Ver original
  1. var logo = document.querySelector('#CabeceraPagina .img');
  2.  
  3. logo.onclick = function() {
  4.     logo.style.border='15px solid black';
  5. }
  #11 (permalink)  
Antiguo 02/03/2015, 08:10
 
Fecha de Ingreso: febrero-2015
Mensajes: 7
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: querySelector()

por cierto utilizo el google chrome 40.0.2214.115 , cual crees qe es el mas comveniente de utilizar para este tema? paginas web en general
  #12 (permalink)  
Antiguo 02/03/2015, 13:09
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: querySelector()

No deberías tener problemas con esa versión tan reciente de Chrome. Es raro :/
  #13 (permalink)  
Antiguo 04/03/2015, 09:03
 
Fecha de Ingreso: febrero-2015
Mensajes: 7
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: querySelector()

Ni idea, ya llevo un par de clases sin tocar el libro, lo tengo cruzado. muchísimas gracias por todo.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:05.