Foros del Web » Programando para Internet » Javascript »

SetAttribute no funciona

Estas en el tema de SetAttribute no funciona en el foro de Javascript en Foros del Web. He intentado usarlo del siguiente modo: var body; body = bodydocument.getElementbytagname('body'); body.SetAttribute = ('OnLoad','elgero();'); En que fallo?...
  #1 (permalink)  
Antiguo 26/09/2009, 14:14
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años, 1 mes
Puntos: 0
SetAttribute no funciona

He intentado usarlo del siguiente modo:
var body;
body = bodydocument.getElementbytagname('body');
body.SetAttribute = ('OnLoad','elgero();');

En que fallo?
  #2 (permalink)  
Antiguo 26/09/2009, 14:18
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Respuesta: SetAttribute no funciona

Fijate así

body.SetAttribute('OnLoad','elgero();');
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #3 (permalink)  
Antiguo 26/09/2009, 14:39
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: SetAttribute no funciona

Nada :( Sigue sin ir
  #4 (permalink)  
Antiguo 26/09/2009, 14:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: SetAttribute no funciona

estas fallando practicamente en todo.
  • bodydocument no existe. si quieres hacer hacer referencia al body, la sintaxis correcta es document.body.
  • javascript es case sensitive (sensible a minusculas y mayuscula), lo que significa que no es lo mismo getElementbytagname que getElementsByTagName. mi recomendacion es tener una referencia a mano para que vayas conociendo como se escriben las propiedades y metodos. [w3school]
  • y por ultimo, aunque se entiende que es perfectamente valido usar setAttribute para asignar eventos, realmente no todos los navegadores (o en especial iexplorer) funciona de esa manera. considera que los eventos tambien son metodos o funciones de elementos. de modo que es cuestion de usar el evento como una propiedad del elemento y asignarle una funcion. o sea,
    Código:
    window.onload = elgero; // se le asigna la funcion elgero al evento;
    function elgero(){
    alert(true);
    }
    
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 27/09/2009, 02:28
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: SetAttribute no funciona

Es para greasemonkey osea que ya me va bien usar setattributes.

var body = document.body.getElementsByTagName('body');
body.SetAttribute('OnLoad','elgero();');


Sigue sin funcionar :(

Ni con
window.onload = elgero; // se le asigna la funcion elgero al evento;
function elgero(){
alert(true);
}

Aparece la alerta.
Edito, jejeje fallaste, te dejaste los () en elgero de window.onload.

Usando la funcion original elgero no funciona, en ella por medio de innerhtml inserto un iframe.

Última edición por beng; 27/09/2009 a las 02:38
  #6 (permalink)  
Antiguo 27/09/2009, 02:45
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: SetAttribute no funciona

pues realmente no falle. al ponerle los parentesis lo que hace es llamar la funcion y asignarle el valor que devuelva la funcion al evento. si la funcion no tiene un return, el valor devuelto es undefined. de modo que cuando realmente sucede el evento, simplemente sucede nada. como en este caso se trata de greasymonkey, pues la verdad no tengo idea si el codigo debe ser escrito de alguna manera particular. la respuesta que te estaba dando era desde el punto de vista de desarrollo web.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 27/09/2009, 10:27
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 2 meses
Puntos: 67
Respuesta: SetAttribute no funciona

Cita:
Iniciado por beng Ver Mensaje
He intentado usarlo del siguiente modo:
var body;
body = bodydocument.getElementbytagname('body');
body.SetAttribute = ('OnLoad','elgero();');

En que fallo?
No se como estará tu código actualmente, pero para que lo quieres debes usar esto:

Código:
body = document.getElementsByTagName('body')[0];
body.onload = elgero();
Eso servirá.
  #8 (permalink)  
Antiguo 27/09/2009, 12:20
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: SetAttribute no funciona

Eljavista, voy a probar suerte. Con eso quiero basicamente cargar la funcion elgero la cual lo unico que contiene un iframe ya que no se me ocurre otra forma de mandar informacion de una pagina a otra, teniendo en cuenta que una no es mia y por lo tanto no puedo editar nada (por eso greasemonkey).
  #9 (permalink)  
Antiguo 27/09/2009, 16:25
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 2 meses
Puntos: 67
Respuesta: SetAttribute no funciona

Talvez podrías explicame mejor lo que quieres hacer, o sea el fin último, porque a priori me suena tu solución complicadamente innecesaria.
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 08:55.