jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何将子项无限地添加到此列表树中?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够无限地添加孩子/孙子/伟大的孩子/等.我正在制作这棵树.目前我已将它设置为只有3级深度,我无法找到一种方法让它像用户想要的那样深.

HTML

<div class="tag-tree">
<ul id="addParent">
  <li class="root" class="add-child">
    <input /> <p class="add-child-field"><i class="fa fa-plus"></i></p>
  </li>
  <li>
    <input />  <p class="add-gc-field"><i class="fa fa-plus"></i></p>      
    <ul> 
  <li><input /></li>
  <li><input /></li>
  <li><input /></li>
    </ul> 
  </li>
  <li><input /> <p class="add-gc-field"><i class="fa fa-plus"></i></p>   </li>
  <li>
    <input /> <p class="add-gc-field"><i class="fa fa-plus"></i></p>   
<ul>
  <li><input /></li>
  <li><input /></li>
</ul>  
  </li>
</ul>  
<div class="add-field"><i class="fa fa-plus"></i> New Parent Tag</div>
</div>

jQuery的

$(".add-field").click(function() {
  $('#addParent').append('<li class="root" id="addChild"><input /> <p class="add-child-field" onclick="add_child();"><i class="fa fa-plus"></i></p></li>')
});

$(document).on('click',".add-child-field",function() {
  $(this).parent().after('<li><input /><p class="add-gc-field"><i class="fa fa-plus"></i></p> </li>');
});



$(document).on('click',".add-gc-field",function() {
  if ($(this).next('ul').length) {
    console.log(this)
    $(this).next('ul').append('<li><input /></li>');
  }
  else {
    console.log(this)
    $(this).after('<ul><li><input /></li></ul>');
    }
});

http://jsfiddle.net/y6ekn7d2/

解决方法

我冒昧地简化了你的代码.

为了保持任意数量的级别,我处理了除根节点之外的所有输入.
这样他们都执行相同的代码来维护他们的子列表.但是为了防止混乱,我在所有输入元素中添加了“级别”索引.

<li>
  <input data-level="XXX" />
  <p class="add-field">
    <i class="fa fa-plus"></i>
  </p>
</li>

这是你的小提琴的修改版本

http://jsfiddle.net/y6ekn7d2/2/

大佬总结

以上是大佬教程为你收集整理的jquery – 如何将子项无限地添加到此列表树中?全部内容,希望文章能够帮你解决jquery – 如何将子项无限地添加到此列表树中?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。