summaryrefslogtreecommitdiff
path: root/frontend/beta/js/YUI-extensions/CustomTagReader.js
authorGiulio Cesare Solaroli <giulio.cesare@solaroli.it>2011-10-03 16:04:12 (UTC)
committer Giulio Cesare Solaroli <giulio.cesare@solaroli.it>2011-10-03 16:04:12 (UTC)
commit541bb378ddece2eab135a8066a16994e94436dea (patch) (unidiff)
treeff160ea3e26f7fe07fcfd401387c5a0232ca715e /frontend/beta/js/YUI-extensions/CustomTagReader.js
parent1bf431fd3d45cbdf4afa3e12afefe5d24f4d3bc7 (diff)
parentecad5e895831337216544e81f1a467e0c68c4a6a (diff)
downloadclipperz-541bb378ddece2eab135a8066a16994e94436dea.zip
clipperz-541bb378ddece2eab135a8066a16994e94436dea.tar.gz
clipperz-541bb378ddece2eab135a8066a16994e94436dea.tar.bz2
Merge pull request #1 from gcsolaroli/master
First version of the restructured repository
Diffstat (limited to 'frontend/beta/js/YUI-extensions/CustomTagReader.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/beta/js/YUI-extensions/CustomTagReader.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/frontend/beta/js/YUI-extensions/CustomTagReader.js b/frontend/beta/js/YUI-extensions/CustomTagReader.js
new file mode 100644
index 0000000..12faaa9
--- a/dev/null
+++ b/frontend/beta/js/YUI-extensions/CustomTagReader.js
@@ -0,0 +1,40 @@
1/**
2 * @class YAHOO.ext.CustomTagReader
3 * Utility class to normalize reading of custom tags across browsers.
4 */
5YAHOO.ext.CustomTagReader = function(namespace){
6 this.namespace = namespace;
7};
8YAHOO.ext.CustomTagReader.prototype = {
9 getAttribute : function(el, name, defaultValue){
10 return (this.useNS ?
11 v = el.getAttributeNS(this.namespace, name) : null) ||
12 el.getAttribute(this.namespace+':'+name) ||
13 el.getAttribute(name);
14 },
15
16 getElements : function(tagName, targetEl){
17 targetEl = targetEl || document.body;
18 var els;
19 if(this.useNS){ // no namespaces in IE
20 els = targetEl.getElementsByTagNameNS(this.namespace, tagName);
21 }
22 if(!els || els.length < 1){ // ie6, firefox 1.5, firefox 2 depending on doc type
23 els = targetEl.getElementsByTagName(this.namespace+':'+tagName);
24 }
25 if(!els || els.length < 1){ // everyone else
26 els = targetEl.getElementsByTagName(tagName);
27 }
28 return els;
29 },
30
31 eachElement : function(tagName, targetEl, fn, scope){
32 var els = this.getElements(tagName, targetEl);
33 for(var i = 0, len = els.length; i < len; i++) {
34 var el = els[i];
35 fn.call(scope || el, el);
36 }
37 },
38
39 useNS : (!YAHOO.ext.util.Browser.isIE && document.getElementsByTagNameNS) ? true : false
40};