Hi,
Scunliffe, I think your suggestion will definitely do the trick, at least the multi-line function will.
I came up with a solution that doesn't run on Webkit (Chrome + Safari) but which is very compact:
var metas = document.getElementsByTagName('META');
var value = (metas.namedItem ("description") || metas.namedItem ("Description") || metas.namedItem ("DESCRIPTION") || {}).content;
This will utilize the namedItem() function over the NodeList object, looking for most likely ways another programmer might write "description". Note that this will retrieve the values of tag's attribute, while ignoring case for attribute names:
<meta name="description" content="my description" />
<meta NAME="Description" CoNtEnT="my description" />
But alas (Oy Vey) the nameItem() doesn't work on Safari & Chrome :-( Maybe there's an alternative approach for those browsers...