jQuery功能不能正常工作
问题描述:
低于JQuery用于显示和隐藏我的html页面内容的代码。当我点击显示产品链接产品的所有名称都在下面,当点击时隐藏产品链接它隐藏产品。它工作正常,但在IE6.0当我点击隐藏产品链接它是隐藏复选框也不过Mozilla的不出所料jQuery功能不能正常工作
$(document.ready(function()){
toggleNodes=function(node,action){
var $content=$('.node-content', node);
var $symbol=$('.node-label>a>.ui-symbol-green',node);
If (var ($symbol.hasClass('ui-symbol-circle-minus') &&
(action==undefined||action=='hide')))
{
$symbol.removeClass('ui-symbol-circle-minus');
$symbol.addClass('ui-symbol-circle-plus');
$info.addClass('closed');
$content.hide();
}
else if($symbol.hasClass('ui-symbol-circle-plus')) &&
(action=='undefined'||action=='undefined')
$symbol.addClass('ui-symbol-circle-minus');
$symbol.removeClass('ui-symbol-circle-plus');
$info.removeClass('closed');
$content.show();
}
return false;
}
toggleAllNodes=function(tree,action){
$('.node',tree).each(function(node)){
toggleNOde(node,action);
});
}
$('.tree .nodelabel>a').click(function(event)){
toggleNode(event.currentTarget.parentNode.parentNode);
event.preventDefault();
return false;
});
});
return false;
请建议如何纠正这个错误。
答
你必须把var
之前的函数定义.. IE有它的问题!
$(document.ready(function()){
var toggleNodes=function(node,action) {
var $content=$('.node-content', node);
var $symbol=$('.node-label>a>.ui-symbol-green',node);
// also think that this IF statement is not going to work for IE (!not sure)
if(var ($symbol.hasClass('ui-symbol-circle-minus') && (action==undefined||action=='hide'))) {
$symbol.removeClass('ui-symbol-circle-minus');
$symbol.addClass('ui-symbol-circle-plus');
$info.addClass('closed');
$content.hide();
}
else if($symbol.hasClass('ui-symbol-circle-plus')) && (action=='undefined'||action=='undefined')
$symbol.addClass('ui-symbol-circle-minus');
$symbol.removeClass('ui-symbol-circle-plus');
$info.removeClass('closed');
$content.show();}
return false;
}
var toggleAllNodes=function(tree,action){
$('.node',tree).each(function(node)){
toggleNOde(node,action);
});
}
$('.tree .nodelabel>a').click(function(event)){
toggleNode(event.currentTarget.parentNode.parentNode);
event.preventDefault();
return false;
});
});
+0
感谢您的输入工作。 – user1057697
+0
欢迎您!有一些基本的东西可以简化你在现代浏览器中工作的代码,但不能在IE #fail中使用 –
你可以发布你的html片段(它可以填充虚拟文本)。另外,您是否可以修复您现在使用的代码格式,以便于阅读。 – Matt
尝试使用jQuery的切换方法和它的回调函数来处理图标swith。它会让你的代码更具可读性,并可能修复你的错误。 –
如果这是代码的确切粘贴,则会出现一些语法错误 –