在网页设计中,如何对用js做的树状导航进行搜索

最近在网页设计时,用js做了一个树状导航,但是因为导航中内容较多,想加入对导航内容的搜索,做成像chm那样的形式,如何做?... 最近在网页设计时,用js做了一个树状导航,但是因为导航中内容较多,想加入对导航内容的搜索,做成像chm那样的形式,如何做? 展开
 我来答
脆皮浮尘
2013-09-15 · 超过18用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:36.2万
展开全部
跟JS画出树形菜单一样,先找到root节点,然后循环root下的子菜单,如果子菜单下还有子菜单,则递归循环。

如:查询某个节点的名字(全字符匹配):
var root = document.getElementById("root");
getInnerText(roow);
function getInnerText(node, text){
var flag = false;

var cnodes = node.chindren;

var i = 0, len = cnodes.length;

var nowNode = null;

while(i < len){
nowNode = cnodes[i];

var hasChild = (nowNode.children.length > 0 ? true : false);
if(hasChild){

flag = getInnerText(nowNode, text);
}else{

if(nowNode.innerText === text){

flag = true;

/*找到需要的文字后要做的事情*/

break;

}

}
}

return flag;

}

如果需要做模糊匹配,nowNode.innerText === text修改成nowNode.innerText.indexOf(text) > -1就可以了。
如果需要显示所有模糊匹配的结果,那就去掉flag返回以及break跳出就行了。
更多追问追答
追问
js不懂,树状图也是从网站http://www.jyeoo.com/math/ques/search拷过来的,能否给出详细的代码?谢谢啦
追答
你需要做成什么样子?CHM那样的模糊查询,然后列举出匹配的项?还是其他什么样子。
see7di
2013-09-15 · TA获得超过299个赞
知道小有建树答主
回答量:793
采纳率:0%
帮助的人:378万
展开全部
最简单的方法就是用jquery
首先用jquery取得所有的文本内容,搜索的时候用jquery匹配,匹配成功之後反色即可,根本就不需要考虑你的tree有多少节点,那样太复杂了.
追问
可以给出具体代码吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-15
展开全部
搜索和树没必要扯到一起,可以把树的元数据存在数据库里,就可以方便搜索了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式