I'm having this issue on my website in IE (6,7,8):
‘nodeType’ is null or not an object
The error refers to "f.nodeType" property. Basically f is undefined, so the issue is before, but I cannot fix it.
(from IE developer toolbar debug it appears to be this line that is throwing the error)
(autocolumn.min.js line 13
expanded below for readability)
Page is at http://www.donatellabernardi.ch/drupal
function split($putInHere,$pullOutHere,$parentColumn,height){
if($pullOutHere.children().length){
$cloneMe=$pullOutHere.children(":first");
$clone=$cloneMe.clone(true);
if($clone.attr("nodeType")==1&&!$clone.hasClass("dontend")){
^^^^^^^^^^^^^^^^^^^^^^^^^^ Chokes on
$putInHere.append($clone);
if($clone.is("img")&&$parentColumn.height()<height+20){
$cloneMe.remove();
}else if(!$cloneMe.hasClass("dontsplit")&&$parentColumn.height()<height+20){
$cloneMe.remove();
}else if($clone.is("img")||$cloneMe.hasClass("dontsplit")){
$clone.remove();
}else{
$clone.empty();
if(!columnize($clone,$cloneMe,$parentColumn,height)){
if($cloneMe.children().length){
split($clone,$cloneMe,$parentColumn,height);
}
}
if($clone.get(0).childNodes.length==0){
$clone.remove();
}
}
}
}
}
Using the "Firebug lite" Bookmarklet (you can get it here: http://getfirebug.com/firebuglite ), I could narrow down the place where the error actually is being thrown.
It seems that the root of the problem is not in the code that you've extracted, but in jQuery itself.
I noticed that you're using jQuery version 1.2.6. The problem is the clone-method of that version. This results in an error in this line of your posted code:
$clone=$cloneMe.clone(true);
I could give you more details, where exactly the error happens, but I don't think that this will solve your problem. Anyway it's not a good idea to build a workaround for the flawed jQuery-code. I'd rather recommend to try a more recent version of jQuery (after a quick glance I saw that there the clone-method is implemented differently) and have a look if that solves your problem.
EDIT: Sorry, it's not this line
$clone=$cloneMe.clone(true);
but this line:
$cache.append($(this).children().clone(true));
(line 42 in the autocolumn.js)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With