...at line: 0, jawel!
Natuurlijk heb ik Google al even geraadpleegd en erachter gekomen dat het hoogstwaarschijnlijk aan een oneindige loop ligt. Maar díe kan ik nu juist niet ontdekken in het onderstaande stukje code dat mijn probleem doet ontstaan. (Uitéindelijk geldt dat childList.hasChildNodes()===false)...
Ik heb het geschreven als een vervanging van de element.getElementsByClassName("className")-functie van FF voor IE. Het vreemde is dat deze functie -heb 'm even 'test' genoemd- wél werkt in FF (geeft netjes een array met 2 span-elementen), maar niet in IE
Wie kan hier een eventuele oorzaak van zien? Alvast bedankt voor jullie tijd
[JS]Element.prototype.test = HTMLDocument.prototype.test = function(className){
var elementList = [];
var childList = this.childNodes;
var length = childList.length;
for(var i=0; i<length; i++){
if(childList.classList && childList.classList.contains(className)){
elementList.push(childList);
}
if(childList.hasChildNodes()){
var classedChildren = childList.test(className);
if(classedChildren.length>0){
var length2 = classedChildren.length;
for(var j=0; j<length2; j++){
elementList.push(classedChildren[j]);
}
}
}
}
return elementList;
};
window.onload = function(){
/*
...Stukje niet-relevante code...
*/
var buttonList = document.body.test("button");
alert([buttonList.length, buttonList].join("\n"));
}[/JS]

Ik heb het geschreven als een vervanging van de element.getElementsByClassName("className")-functie van FF voor IE. Het vreemde is dat deze functie -heb 'm even 'test' genoemd- wél werkt in FF (geeft netjes een array met 2 span-elementen), maar niet in IE

Wie kan hier een eventuele oorzaak van zien? Alvast bedankt voor jullie tijd

[JS]Element.prototype.test = HTMLDocument.prototype.test = function(className){
var elementList = [];
var childList = this.childNodes;
var length = childList.length;
for(var i=0; i<length; i++){
if(childList.classList && childList.classList.contains(className)){
elementList.push(childList);
}
if(childList.hasChildNodes()){
var classedChildren = childList.test(className);
if(classedChildren.length>0){
var length2 = classedChildren.length;
for(var j=0; j<length2; j++){
elementList.push(classedChildren[j]);
}
}
}
}
return elementList;
};
window.onload = function(){
/*
...Stukje niet-relevante code...
*/
var buttonList = document.body.test("button");
alert([buttonList.length, buttonList].join("\n"));
}[/JS]