Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
zydeoN

getElementeById() problema

Recommended Posts

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...

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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');
}

Share this post


Link to post
Share on other sites
mjamado

Ah, já catei...  :cheesygrin:

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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.