Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Web
Expertise: Intermediate
Jan 7, 2000

Track Clicks on Element With Expando Property

Browsers Targeted: Internet Explorer 4 and 5

With Internet Explorer 4.0 and above, you can create an arbitrary property on any HTML object. This property, called an expando property, stays associated with the object as long as the object exists. For example, if you wanted to keep track of the number of times a given element has been clicked, you could create an expando property called clickCount that would retain the information for that element:

 
<script language="VBScript">
    function updateClickCount(this)
    	ct=this.getAttribute("clickCount")+1
	this.setAttribute "clickCount",ct
	if ct=1 then
	    this.innerHTML="This line has been clicked 1 time."
	else
	    this.innerHTML="This line has been clicked "+cstr(ct)+" times."
	end if		
    end function
</script>
 
<style>
	.active {cursor:hand;}
</style><h3>Click on a line to change its count:</h3>
<div class="active" onclick="updateClickCount(this)" clickCount="0">
This line has been clicked 0 times.</div><div class="active" 
onclick="updateClickCount(this)" clickCount="0">
This line has been clicked 0 times.</div>
<div class="active" onclick="updateClickCount(this)" clickCount="0">
This line has been clicked 0 times.</div>

You can retrieve and set the values of an expando property with the .getAttribute and .setAttribute methods. SetAttribute will also add an expando property if one doesn't exist, so you should use this method carefully—it is possible to misspell a property (including using the wrong case) and end up with a property you didn't intend. You can turn the ability to use expando properties on or off with the document.expando property. When expando is true, you can create new expando properties; with it off, you can't, nor can you access the values of any expando properties you've previously created. Note that expando only applies to HTML objects—VBScript objects don't support it in any currently available implementation.

Kurt Cagle
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap