首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript搜索值抛出dynatree并将其展开

javascript搜索值抛出dynatree并将其展开
EN

Stack Overflow用户
提问于 2013-06-04 16:36:24
回答 2查看 1.5K关注 0票数 0

dynatree的结构如下:

代码语言:javascript
复制
<ul class="dynatree-container">
 <li class="">
    <span class="dynatree-node dynatree-has-children dynatree-exp-c dynatree-ico-c">
        <a class="dynatree-title" href="#">Alimentary</a>
    </span>
</li>

<li class="">
  <span class="dynatree-node dynatree-expanded dynatree-has-children dynatree-exp-e dynatree-ico-e">
       <a class="dynatree-title" href="#">Fruits</a>
    </span>

    <ul style="">
      <li class="">
       <span class="dynatree-node dynatree-exp-c dynatree-ico-c">
         <a class="dynatree-title" href="#">Banans</a>
       </span>
     </li>
     </ul>
   </li>

   <li class="">
       <span class="dynatree-node dynatree-has-children dynatree-exp-c dynatree-ico-c">&gt; 
         <a class="dynatree-title" href="#">Cosmetics</a>
       </span>
  </li>
</ul>

我要搜索数据,如果树中存在"pineapple“,则以粗体显示。我在javascript中写了一个方法onkeyPressed:

代码语言:javascript
复制
 function Search(value)
    {

      for(var i=0;i<document.getElementsByTagName('li').length;i++)
       {
        var node=document.getElementsByTagName('dynatree-title')
        if (node.data.href ==value) {
            //expand the tree       
        }        
       }    
    }

我不确定如何才能访问所有的节点来搜索值。有谁有主意吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-04 17:05:24

您可以使用Jquery搜索节点:

代码语言:javascript
复制
function Search(value){
    $(".dynatree-title").each(function(){
        if($(this).text() == value){
            $(this).html("<strong>"+$(this).text() +"</strong>");
        }
    });
}
票数 1
EN

Stack Overflow用户

发布于 2013-06-04 16:54:14

如果我理解正确的话,您应该检查innerHTML,而不是href:

代码语言:javascript
复制
if (node.innerHTML == value)

然后继续你的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16913212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档