Compare Revisions

NodeList

Revision 345413:

Revision 345413 by ethertank on

Revision 365793:

Revision 365793 by Vincent on

Title:
NodeList
NodeList
Slug:
DOM/NodeList
DOM/NodeList
Tags:
"Gecko DOM Reference","DOM","DOM 3"
"Gecko DOM Reference","DOM","DOM 3"
Content:

Revision 345413
Revision 365793
n88for(prop in Array.prototype){n88/*
89  if(Array.prototype.hasOwnProperty(prop) && typeof(Array89  The code can not executed properly for some reason
>.prototype[prop]) === 'function') 
90    NodeList[prop] = Array.prototype[prop];90  1. The Array.prototype's property are not enumerable,so using f
 >or...in loop cannot get the property
91}91  2. NodeList[prop] = Array.prototype[prop] this way,the property
 > is added to the NodeList function, but not the instance
92     so we need to add properties to NodeList.prototype
n93var links = document.getElementsByTagName('a');n94*/
94links.forEach(function(link){ // works in some browsers, throws i95 
>n others 
95  link.style.color = '#0F0';
96});
tt97    <div>
98      var _arrayProto = Array.prototype;
99    </div>
100    <div>
101      var _funcList = Object.getOwnPropertyNames.call(null,Array.
 >prototype);
102    </div>
103    <div>
104      var _element;
105    </div>
106    <div>
107      var _theFunc;
108    </div>
109    <div>
110      &nbsp;
111    </div>
112    <div>
113      for(var prop in _funcList){
114    </div>
115    <div>
116      _element = _funcList[prop];
117    </div>
118    <div>
119      if(_arrayProto.hasOwnProperty(_element) &amp;&amp; typeof(_
 >theFunc) === 'function'){
120    </div>
121    <div>
122      NodeList.prototype[_element] = _theFunc;
123    </div>
124    <div>
125      console.log(_theFunc.name + ' has been added!');
126    </div>
127    <div>
128      }
129    </div>
130    <div>
131      }
132    </div>
133    <div>
134      &nbsp;
135    </div>
136    <div>
137      var links = document.getElementsByTagName('a');
138    </div>
139    <div>
140      links.forEach(function(link){ // works in some browsers, th
 >rows in others
141    </div>
142    <div>
143      &nbsp;link.style.color = '#0F0';
144    </div>
145    <div>
146      });
147    </div>
148    <p>
149      /* for(prop in Array.prototype){ if(Array.prototype.hasOwnP
 >roperty(prop) &amp;&amp; typeof(Array.prototype[prop]) === 'funct
 >ion') NodeList[prop] = Array.prototype[prop]; } var links = docum
 >ent.getElementsByTagName('a'); links.forEach(function(link){ // w
 >orks in some browsers, throws in others link.style.color = '#0F0'
 >; }); */
150    </p>
151    <p>
152      &nbsp;
153    </p>

Back to History