将2个内容分别加载到2个div中

时间:2018-07-30 07:23:33

标签: jquery html

是否可以简化此通话?

$('.tag-widget a').click(event => {
    event.preventDefault()
    $('.products-grid').load(`${event.target.href} .products-grid`)
    $('.pagination-cubic').load(`${event.target.href} .pagination-cubic`)
})

基本上,当我单击.tag-widget下的链接时,我希望将.pagination-cubic和.products-grid中的内容加载到其各自的div中。

上面的代码对我有用,但是它进行了两次调用,这影响了加载时间。我可以将它们合并为1吗?

我在下面的代码中尝试了此方法,但是发生了什么情况。.products-grid加载到了.pagination-cubic和.products-grid中。

jQuery(document).ready(function ($) {
    $('.tag-widget a').click(event => {
        event.preventDefault()
        $('.products-grid, .pagination-cubic').load(`${event.target.href} .products-grid, .pagination-cubic`)
    })
});

P / s:在论坛上搜索,我只找到了将2个内容仅插入1个div的方法。

1 个答案:

答案 0 :(得分:1)

docs for .load()建议

  

它大致相当于$.get(url, data, success) ...

因此,您应该可以执行以下操作:

$.get(event.target.href, function(resp) {
  var resp = $(resp);

  $('.products-grid').html(resp.find('.products-grid').html());

  if (resp.find('.pagination-cubic').length > 0) {
    $('.pagination-cubic').html(resp.find('.pagination-cubic').html());
  } else {
    $('.pagination-cubic').html('');
  }
});

这将提取一次内容,然后设置适当选择器的HTML内容。