Traditional DHTML:
var source = document.documentElement.innerHTML;
var result = source.match (/<meta[^>]+>/g);
for (var i = 0, I = result.length; i < I; i++) {
alert ( result[i] );
}
DOM Core:
var nodes = document.getElementsByTagName ('meta');
// var nodes = document.getElementsByTagNameNS ('http://www.w3.org/1999/xhtml', 'meta');
for (var i = 0, I = nodes.length; i < I; i++) {
alert ( nodes[i].content );
}
DOM HTML (not XHTML):
var nodes = document.getElementsByName ('description');
var nodes = document.getElementsByName ('keywords');
DOM Traversal:
var root = document.documentElement;
var whatToShow = NodeFilter.SHOW_ELEMENT;
var filter = function (node) {
if ('META' == node.tagName || 'meta' == node.localName)
return NodeFilter.FILTER_ACCEPT;
else
return NodeFilter.FILTER_SKIP;
};
var entityReferenceExpansion = false;
var iterator = document.createNodeIterator (root, whatToShow, filter, entityReferenceExpansion);
while (iterator.nextNode ()) {
alert ( result.currentNode.content );
}
DOM XPath:
var expression = '/html/head/meta';
// var expression = '//*[namespace-uri()="http://www.w3.org/1999/xhtml" and name()="meta"]';
var contextNode = document.documentElement;
var resolver = document.createNSResolver (document.documentElement);
var type = XPathResult.ORDERED_NODE_SNAPSHOT_TYPE;
var result = document.evaluate (expression, contextNode, resolver, type, null);
for (var i = 0, I = result.snapshotLength; i < I; i++) {
alert ( result.snapshotItem (i).content );
}