jQuery递归加载布局

时间:2017-07-16 13:04:01

标签: jquery

我正在尝试创建一个脚本,该脚本使用src属性集从div加载内容。一旦加载了该内容,我希望在加载的内容中设置src属性的任何div也加载更多内容等。我尝试使用on函数,它似乎与“action”事件一起使用,如click,或者提交但是使用on(“load”,选择器似乎不会传播事件。

这就是我目前所拥有的:

jQuery("body").on("load", "div[src]", function () {
    jQuery(this).load(jQuery(this).attr("src"));
});

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

内容元素上没有加载事件

这是一个简单的插件方法,可以查看每个新内容加载并在新元素上初始化相同的插件

(function($) {
  $.fn.loadMore = function() {
    //iterate all elements in collection
    return this.each(function() {
      //ajax load content for each element instance
      var $el = $(this), url = $el.data('src');

      $el.load(url, function() {
        // new content was loaded...initialize again on applicable new elements
        $el.find('[data-src]').loadMore();
      });

    })
  }
})(jQuery);

// on page load start loading
jQuery(function($) {
  $('[data-src]').loadMore()
})

请注意,data-属性使用html5 data-src属性,而不是仅使用src

DEMO