These are the functions I wrote once and use for this purpose:
function elemHeight(elemName) {
if (document.layers)
h = eval("document.layers[" + elemName + "].document.height"
else if (document.getElementById)
h = eval("document.getElementById('" + elemName + "').offsetHeight"
return(h);
}
function elemWidth(elemName) {
if (document.layers)
w = eval("document.layers[" + elemName + "].document.width"
else if (document.getElementById)
w = eval("document.getElementById('" + elemName + "').offsetWidth"
return(w);
}
function elemTop(elemName) {
if (document.layers)
t = eval("document.layers[" + elemName + "].document.pageY"
else if (document.getElementById)
t = eval("document.getElementById('" + elemName + "').offsetTop"
return(t);
}
function elemLeft(elemName) {
if (document.layers)
l = eval("document.layers[" + elemName + "].document.pageX"
else if (document.getElementById)
l = eval("document.getElementById('" + elemName + "').offsetLeft"
return(l);
}
function elemProps(elemName) {
w = "width= " + elemWidth(elemName);
h = "height= " + elemHeight(elemName);
t = "top= " + elemTop(elemName);
l = "left= " + elemLeft(elemName);
dims = "element name: " + elemName + "\n\n" + w + "; " + h + "\n" + t + "; " + l ;
return(dims)
}
<p id="first" onclick="alert(elemProps('first'))">
block content
</p>