Property or Attribute?

R

Robert Mark Bram

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
:)
 
R

Robert Mark Bram

Howdy David!
When its CSS.

So I can say that the visibility property can be set to visible or
invisible..
When its HTML or XML.

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
:)
 
L

Lasse Reichstein Nielsen

Robert Mark Bram said:
When do I call something a property and when do I call something an
attribute?

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
 
R

Robert Mark Bram

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
:)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,053
Latest member
BrodieSola

Latest Threads

Top