Connecting Tech Pros Worldwide Forums | Help | Site Map

Property or Attribute?

Robert Mark Bram
Guest
 
Posts: n/a
#1: Jul 20 '05
Howdy all!

When do I call something a property and when do I call something an
attribute?

It has me a little confused at the moment!

Any advice would be most appreciated!

Rob
:)



Robert Mark Bram
Guest
 
Posts: n/a
#2: Jul 20 '05

re: Property or Attribute?


Howdy David!
[color=blue][color=green]
> > When do I call something a property[/color]
>
> When its CSS.[/color]

So I can say that the visibility property can be set to visible or
invisible..
[color=blue][color=green]
> > and when do I call something an attribute?[/color]
>
> When its HTML or XML.[/color]

And I can talk about the SELECTED attribute of a CHECK BOX..


What about in JavaScript? Should I say a SELECT element has OPTION child
elements or properties.. and is the selectedIndex of a SELECT be a property
or attribute when I am accessing them in JavaScript?

I guess I am also gettting confused between JavaScript objects (which I know
are a collection of properties) and objects in the DOM. Do we say that
either of these have attributes?

Thank you very much for your response!

Rob
:)


Lasse Reichstein Nielsen
Guest
 
Posts: n/a
#3: Jul 20 '05

re: Property or Attribute?


"Robert Mark Bram" <relaxedrob@removethis.optushome.com.au> writes:
[color=blue]
> When do I call something a property and when do I call something an
> attribute?[/color]

The traditional usage is (if I understand it correctly):

- Javascript objects have properties. In "obj.foo" or "obj['foo']",
"foo" is the name of the property. Some properties are functions and
are sometimes called "methods". That is the terminology used in, e.g.,
the ECMS262 specification.

- HTML tags have attributes. In "<body onload='init()'>", "onload='init()'"
is an attribute. We call "onload" the attribute name and "'init()'" is the
attribute value. That is the terminology used in the HTML specifications.

- CSS rules have properties. In "#foo {width:50px;color:red;}" the
(CSS) properties are "width" and "color". That is the terminology used
in the CSS specifications.


Where it becomes fun is when you write things like:
<div id="foo" style="color:red;">
and later
document.getElementById("foo").style.color="green" ;

- "document" is a global variable (a property of the global object),
and it refers to the document object.
- "getElementById" is a property of the document object. It is a function
so we call it a method.
- The name "foo" refers to the id attribute of the div tag, and the DOM
*element* (an object) returned by the function call is the DOM
representation of the div *tag*.
- The "style" property of the div element corresponds to the "style"
attribute of the div tag.
- the "color" property of the style element corresponds to the CSS property
"color".

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'
Robert Mark Bram
Guest
 
Posts: n/a
#4: Jul 20 '05

re: Property or Attribute?


Thank you so much for the reply Lasse,

Your explanation clears up a lot of things for me - in particular the idea
that although each technology maintains its own lingo, they crossover
somewhat.

Thank you again. :)

Rob
:)


Closed Thread