我正在使用jQuery来显示和隐藏树的li元素(使用ul和li元素构建树)基于某些条件。 这是我的代码。
function filterLeftNavTree(filterData){
if(filterData.indexOf("|")!=-1){
$("ul.treeview").find("li").hide();
var filterData = filterData.split("|");
for(i=0;i<filterData.length;i++){
$("ul.treeview").find("li").filter(":contains(\'"+filterData[i]+"\')").show();
}
}else{
$("ul.treeview").find("li").hide().filter(":contains(\'"+filterData+"\')").show();
}
}
在这个函数中我正在做的是,传递可以通过|分隔的数据。
然后先隐藏所有li,然后只显示与传递给
的字符串匹配的tjose li
功能。
这个功能在Firefox中运行良好,但在IE8中运行不正常。任何人都可以告诉我为什么?
任何替代解决方案对我也有好处
伙计们帮助我。
感谢
vivek
答案 0 :(得分:0)
我解决了这个问题。 实际上,在filterData中选择数据时,它也会选择空格。 和过滤器功能区分大小写,因此它在ie8中不起作用。 我只是试探那些空间,并在ie8中工作正常。
if(filterData.indexOf("|")!=-1){
$("ul.treeview").find("li").hide();
var filterData = filterData.split("|");
for(i=0;i<filterData.length;i++){
$("ul.treeview").find("li").filter(":contains(\'"+filterData[i].trim()+"\')").show();
}
}else{
$("ul.treeview").find("li").hide().filter(":contains(\'"+filterData.trim()+"\')").show();
}
无论如何,多亏你们所有人
的的Vivek 强>