【问题标题】:dynamically adding elements with jQuery with classes / Wijmo tree dynamic node adding使用带有类的 jQuery 动态添加元素/Wijmo 树动态节点添加
【发布时间】:2013-06-18 23:36:17
【问题描述】:

我在我的项目中使用 Wijmo jQuery 框架,我需要渲染一个结构树。我正在使用 Wijmo 树组件,因此覆盖了树部分,但是当我需要单击树中的节点时会出现问题。所以我需要做的是,当单击树中的一个节点时,会进行一个 ajax 调用,以获取该节点下的结构。问题是

我需要以某种方式显示树的其余部分。我开始的方式是将列表附加到父元素。这是树形结构:

<div id="tree">
  <ul id="productTree">
    <li class="folder">
      <ul>
      dynamic elements here
      .....
      </ul>
    </li>
   <li class="folder">..more dynamic elements..</li>
 </ul>

$(.folder).append('<ul><li class="folder">NodeName</li></ul>');

所以我知道这不是应该的方式,因为它被解释为字符串,所以我也尝试过:

$(.folder).append($(<ul><li class="folder">NodeName</li></ul>).folder());

这给了我 Object 对象没有方法文件夹。 所以我对 js 和 jQuery 并没有真正的经验,我不确定如何将这些元素附加到树中。这两个选项都将列表添加到父元素下方,但来自 wijmo 树的所有类和功能都不会添加到此附加元素中。

提前致谢!

【问题讨论】:

    标签: jquery dynamic tree wijmo


    【解决方案1】:
    .append('<ul><li class="folder">NodeName</li></ul>');
    

    应该是

    .append('<ul><li class="folder">' + NodeName + '</li></ul>');
    

    【讨论】:

    • 谢谢,我只是使用 NodeName 作为示例节点名称,因为我从 json 响应中获取节点节点名称,所以我使用 item.name 之类的东西来获取节点名称,其中 item 代表json 结果中的单个元素。
    • 当然.. 将其替换为 item.name 应该可以解决您的问题
    • //$('#'+nodeID+'').append('
      ' + item.name + '
      ');
  • $('#'+nodeID+'')可以改成$('#'+nodeID)
  • class="node" nodeID='+ item.nodeID +'&gt;' 应该是 class="node" nodeID="'+ item.nodeID +'"&gt;'
  • 猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    相关资源
    最近更新 更多