PageSourceSearch

https://www.maconcountyga.gov/library/getElementsByClassName.js

js maconcountyga.gov collected 2026-10-02 16:46:18 UTC 2,408 bytes, 78 lines download raw bytes

1/*
2	Developed by Robert Nyman, http://www.robertnyman.com
3	Code/licensing: http://code.google.com/p/getelementsbyclassname/
4*/	
5var getElementsByClassName = function (className, tag, elm){
6	if (document.getElementsByClassName) {
7		getElementsByClassName = function (className, tag, elm) {
8			elm = elm || document;
9			var elements = elm.getElementsByClassName(className),
10				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
11				returnElements = [],
12				current;
13			for(var i=0, il=elements.length; i<il; i+=1){
14				current = elements[i];
15				if(!nodeName || nodeName.test(current.nodeName)) {
16					returnElements.push(current);
17				}
18			}
19			return returnElements;
20		};
21	}
22	else if (document.evaluate) {
23		getElementsByClassName = function (className, tag, elm) {
24			tag = tag || "*";
25			elm = elm || document;
26			var classes = className.split(" "),
27				classesToCheck = "",
28				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
29				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
30				returnElements = [],
31				elements,
32				node;
33			for(var j=0, jl=classes.length; j<jl; j+=1){
34				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
35			}
36			try	{
37				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
38			}
39			catch (e) {
40				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
41			}
42			while ((node = elements.iterateNext())) {
43				returnElements.push(node);
44			}
45			return returnElements;
46		};
47	}
48	else {
49		getElementsByClassName = function (className, tag, elm) {
50			tag = tag || "*";
51			elm = elm || document;
52			var classes = className.split(" "),
53				classesToCheck = [],
54				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
55				current,
56				returnElements = [],
57				match;
58			for(var k=0, kl=classes.length; k<kl; k+=1){
59				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
60			}
61			for(var l=0, ll=elements.length; l<ll; l+=1){
62				current = elements[l];
63				match = false;
64				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
65					match = classesToCheck[m].test(current.className);
66					if (!match) {
67						break;
68					}
69				}
70				if (match) {
71					returnElements.push(current);
72				}
73			}
74			return returnElements;
75		};
76	}
77	return getElementsByClassName(className, tag, elm);
78};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.