01. juli 2009 - 14:43Der er
4 kommentarer og 1 løsning
Problem med getElementsByTagName(tag)
Hej Eksperter! Er der nogle der kan se hvorfor dette script fejler fejlen siger at "var elm is null" ?
function getElementsByClassName(className, tag){ var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)"); var tag = tag || "*"; var elm = document.getElementsByTagName('body')[0]; var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag); var returnElements = []; var current; var length = elements.length; for(var i=0; i<length; i++){ current = elements[i]; if(testClass.test(current.className)){ returnElements.push(current); } } alert( returnElements.length ); }
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Umiddelbart ser det ud til at du laver noget i overskud ...
-- en anden (næsten identisk !-) måde:
<script type="text/javascript"> // Kaldes med getElementsByClassName("class","tagName","rootElement"); -- kun "class" er obligatorisk function getElementsByClassName(c,t,e){ switch(getElementsByClassName.arguments.length){ case 0: return null; case 1: t = '*'; e = document; break; case 2: e = document; } c = new RegExp("\\b" + c + "\\b"); var r = [],tags = e.getElementsByTagName(t); for(i=0,im=tags.length;im>i;i++){ if(tags[i].className.match(c)) r.push(tags[i]); } return (r.length>0)?r:null; } </script>
Jeg kan godt få funktionen når jeg "kun" sætter elm = document; men selv om at jeg har 7 div tags i roden af <body> med den class jeg sender til funktionen så er listen tom ?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.