递归 JQuery 加载命令

发布于 2024-08-31 05:30:42 字数 408 浏览 4 评论 0原文

我正在使用 JQuery 将内容加载到 div 元素中,一切正常。

$("#content").load('www.urltogetcontentfor.com')

我现在想扩展这个。我的结构是一棵树的结构,其中每个分支可能(或可能没有)附加有子分支。我想要发生的是递归调用 JQuery 加载命令,直到没有子级附加到它为止。类似于以下步骤:

  1. 调用Jquery加载函数将内容加载到“content”div中。
  2. 如果加载函数返回子级已附加,则
  3. 再次调用 JQuery 加载函数以使子级
  4. 重复步骤 2 和 3,直到没有可用的子级。

有没有人在 JQuery 中做过这个或者知道有一个插件可以处理这个问题?

谢谢

I am using JQuery to load content into a div element and everything is working ok.

$("#content").load('www.urltogetcontentfor.com')

I now want to extend this. The structure I have is that of a tree where each branch may (or may not) have child branches attached to it. What I want to happen is that the JQuery load command is recursively called until there are no children attached to it. Something like the following steps:

  1. call Jquery load function to load content into 'content' div.
  2. if the load function returns that children are attached
  3. Call JQuery load function again to get children
  4. repeat steps 2 and 3 until no children are available.

Has anyone done this in JQuery or know of a plug in which handles this?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尐籹人 2024-09-07 05:30:42

可以按照以下原则递归加载内容:

function loadTree($element) {
  $element.each(function(){
    this.load('url', function(){
      loadTree(this.find('.children'));
    });
  });
}

loadTree($('#content'));

使用 jQuery 对象调用该函数。它循环遍历对象中的元素并为每个元素调用 load。在成功回调中,它选择已加载代码中的子级并调用自身。

但是,如果可能,您应该尝试使用一个请求获取整个树,例如以 JSON 形式返回数据并从中创建元素。

Loading content recursively could be done with this principle:

function loadTree($element) {
  $element.each(function(){
    this.load('url', function(){
      loadTree(this.find('.children'));
    });
  });
}

loadTree($('#content'));

You call the function with a jQuery object. It loops through the elements in the object and calls load for each. In the success callback it picks the children in the loaded code and calls itself.

However, if possible you should try to get the entire tree using one request, for example returning the data as JSON and create elements from that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文