Hoofdcategorieën

Bekijk bericht in topic: [handig] getElementsByClassName

zie 23648

leuk, ik heb 'm ook wel eens gemaakt, alleen nooit zo uitgebreid getest. Wat ik alleen anders had is de functie aan het element object gehangen, zodat je 'm ook voor een substuk van je document kan aanroepen, functie roept dan recursief zichzelf aan.

Wat ik ook wel eens gebruikt heb was een getElementsByAttribute(att, needle);, ook wel handig

die dingen werken dus op ongeveer dezelfde manier


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Element.prototype.getElementsByAttribute = function(att,val) { 
   var nodes = []; 
   var node
   for(var i = 0i < this.childNodes.lengthi++) { 
      node = this.childNodes[i]; 
      if(node[att] == valnodes.push(node
      if(node.hasChildNodes()) { 
         nodes = nodes.concat(node.getElementsByAttribute(att,val)) 
      } 
   }   
   return nodes
}

Element.prototype.getElementsByNodeType = function(type) { 
   var nodes = []; 
   var node
   for(var i = 0i < this.childNodes.lengthi++) { 
      node = this.childNodes[i]; 
      if(node.nodeType == typenodes.push(node
      if(node.hasChildNodes()) { 
         nodes = nodes.concat(node.getElementsByNodeType(type)) 
      } 
   }   
   return nodes
}

Element.prototype.getElementsByClassName = function(className) { 
   var nodes = []; 
   var node
   for(var i = 0i < this.childNodes.lengthi++) { 
      node = this.childNodes[i]; 
      if(node.className == classNamenodes.push(node
      if(node.hasChildNodes()) { 
         nodes = nodes.concat(node.getElementsByClassName(className)) 
      } 
   }   
   return nodes
}



misschien kan je die laatste eens door je benchmark gooien? ben wel benieuwd eigenlijk (ik zal wel verliezen :P)

bedenk me ook net dat het misschien wel handig is om juist als argument een regex mee te geven, dan is ie helemaal flexibel

mophor wijzigde dit bericht 04-04-2005 00:12 (85%)

var _ = {_: 'unreadable code detected!'};
alert(_._);


Bekijk bericht
Bericht:
Quote bericht:

VNU Media logo Powered by True

© 1998 - 2008 Tweakers.net - Alle rechten voorbehouden

Uitgever van: