Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

zydeoN

getElementeById() problema

Mensagens Recomendadas

zydeoN

Boas,

Tenho uma duvida, qndo temos, por exemplo, var x = document.getElementById("div"), a variavel x assume as propriedades do div ?

Por exemplo:

css:
#var_{
width: 100px;
height: 100px;
}

html:
<div id="var_"></div>

javascript:
var var_ = document.getElementeById("var_")

Desta forma as propriedades definidas do CSS nao ficam definidas para a nova variavel...

var_.style.width = NaN

PS: So estou a usar as funcoes Javascript apos ter definido as tags HTML...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Estás a usar exactamente esse código?

É para admirar como é que não dá erro, porque:

1. A função chama-se, na realidade, getElementById (repara que tens um "e" a mais);

2. A função pertence ao objecto document, devendo ser chamada document.getElementById(...).

Vais ver que fica logo a rolar...


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Então mete cá o código que estás mesmo a usar, senão torna-se difícil adivinhar qual é o problema...


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zydeoN

Index.html:

<html>
<head>

	<title>untitled</title>
	<link rel="stylesheet" type="text/css" href="style.css" />

</head>

<body style="background-color:black;" >

        <div id="alvo" ></div>
<script type="text/javascript">

var alvo = document.getElementById("alvo");
        alert(alvo.style.width);

</script>
</body>
</html>

style.css:

#alvo{
width:198px;
height:198px;
background-image:url('alvo.png');
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Ah, já catei...  :biggrin:

As propriedades de CSS não estão no style; a propriedade style contém o estilo que eventualmente tiver inline, e é uma string, não é um objecto.

O que tu queres é só alvo.width;


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zydeoN

Continua a dar erro... alvo.width undefined, no entanto se definir por inline, já posso usar alvo.style.width.

O problema é que nao queria estar a definir tudo por inline

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.