jquery 使用.load()加载多个项目,只有一个请求?

8qgya5xd  于 2023-06-29  发布在  jQuery
关注(0)|答案(3)|浏览(112)

当我在load()函数中使用load()从另一个页面加载不同的元素时,我有两个请求。
我怎么能变成一个?比如这个想法:

$mainContent.load(newHash + " .first"," .second", function() { });

因为我遇到的问题是,一个页面,我加载了一个联系表格发送两次,因为我“认为”它得到了加载两次。
下面是完整的代码片段:

if (newHash) {

            $claim.find("#claim").find("p").fadeTo(200,0);

            $mainContent.find(".maincontent").fadeTo(200,0, function() {

                $mainContent.fadeTo(0,0).load(newHash + " .maincontent", function() {

                        $claim.find("#claim").find("p").fadeTo(0,0, function() {

                            $claim.load(newHash + " #claim", function() {

                                $("#claim").fadeTo(0,0).fadeTo(200,1);

                                $mainContent.fadeTo(200,1);
                            });

                        });                
                });
            });   
        };

那么,我如何能够只使用一个.load()请求来加载多个不同的项目呢?
这可能吗?
谢谢你。

envsm3lx

envsm3lx1#

这个方法的作用是:

$mainContent.load(newHash + " .first, .second", function() { });

答案就在这里:
Jquery Multiple load in a DIV

bf1o4zei

bf1o4zei2#

它必须是一个单独的.load,那么function()可以是一个单独的函数,一旦所有. load完成,它就可以运行。你必须关注函数()部分,而不是如何攻击它。或者另一种选择是在实际文件中进行多加载,但我相信你已经想到了这一点。;)
这里有一种方法,你可以相应地操作i变量和while函数:

<script type="text/javascript">
    var i=0;
    while (i<=5)
      {
      document.write("The number is " + i);
      document.write("<br />");
      i++;
      }
    </script>
2izufjch

2izufjch3#

我意识到这个答案有点晚了,但我找到了解决这个问题的方法。不需要向服务器发出多个请求。

$('.first').load(url+' .first > *', function(response){
 let res   = response
 $('.second').html($(res).find('.second').html())
})

相关问题