JQuery 代码,用于显示和隐藏我的html页面的内容。当我点击显示产品链接时,产品的所有名称都在下面,当点击隐藏产品链接时,它会隐藏产品。它按预期工作但在 IE6.0 当我点击隐藏产品链接时它隐藏了复选框,但在 mozilla 它是预期
$(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;
请建议如何更正此错误。
答案 0 :(得分:0)
你必须在函数定义之前放置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;
});
});