Javascript 如何将来自不同页面的多个jQuery填充HTML编号添加到一起?

Javascript 如何将来自不同页面的多个jQuery填充HTML编号添加到一起?,javascript,jquery,html,Javascript,Jquery,Html,我是第一次做海报,我正在学习jQuery,所以我会尽可能地把我的单词表达得最好 在我的网站上,我有多个页面动态地添加lis并给我一个数字。 这个数字是这样显示的:var totalOverallString=$(“#overallTotal”).html(total) 目前我在两个函数中有两个相似的变量。 每个页面上的所有内容都正常工作。 现在,我想将这两个数字相加,并在我的主页上显示新的数字 我希望它能像其他页面一样动态工作。 我遇到的问题是从其他页面获取这些数字 我尝试了.load和.get

我是第一次做海报,我正在学习jQuery,所以我会尽可能地把我的单词表达得最好

在我的网站上,我有多个页面动态地添加lis并给我一个数字。 这个数字是这样显示的:
var totalOverallString=$(“#overallTotal”).html(total)
目前我在两个函数中有两个相似的变量。
每个页面上的所有内容都正常工作。
现在,我想将这两个数字相加,并在我的主页上显示新的数字

我希望它能像其他页面一样动态工作。 我遇到的问题是从其他页面获取这些数字

我尝试了
.load
.getScript
来提取数字。我还尝试过执行回调函数,但脚本加载并提供了原始声明的变量:
total=0
。这对我来说很有意义。它不是从原始页面添加lis。这两个变量都是全局变量

我正尽力想办法解决这个问题。如何从另一个页面动态添加
.html(总计)


谢谢你的时间

您可以将您的个人值存储到本地存储或会话存储中,这些存储可以与HTML5一起使用

有两个新对象用于在客户端上存储数据:

localStorage - stores data with no expiration date
sessionStorage - stores data for one session
您可以使用localStorage或sessionStorage is client-side cookies来存储您的个人值,然后您将在不同的页面中显示您的总数从localStorage检索值并显示:)

如果不想缓存总值,请再次设置本地存储0的过期时间,该时间将在浏览器关闭时过期


有关localStorage的更多详细信息,我认为这是唯一一种不用将所有列表项存储在数据库或类似数据库中的方法

示例第1页包含一些列表项,此处称为
list-1.html

<html>
<body>
    <ul>
        <li>One</li>
        <li>Two</li>
    </ul>
</body>
</html>
<html>
<body>
    <ul>
        <li>Three</li>
        <li>Four</li>
        <li>Five</li>
    </ul>
</body>
</html>
示例页面,您希望在其中显示列表项的计数,在本例中为您的主页:

<html>
<body>

    <!-- Element to contain the total -->
    <p>Total list items: <span id="count">counting...</span></p>

    <!-- Include jQuery -->
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script>

        (function() {
            // Update this array of URLs to the pages containing <li>s that you want to count. 
            var urls = ["list-one.html", "list-two.html"];

            var $hidden = $("<ul />").hide();
            var total = 0;

            // use jQuery's selective loading functionality to load LIs from each URL, count them, and add the count to a running total
            for(var i = 0; i < urls.length; i++) {
                $hidden.load(urls[i] + " li", function(responseText) {
                    total = total + $hidden.find("li").length;

                    // complete - update the count element.
                    if(i == urls.length) {
                        $("#count").html(total);
                    }
                });
            }
       })();

   </script>
</body>
</html>

列表项目总数:正在计数

(功能(){ //将此URL数组更新到包含要计数的
  • s的页面。 var url=[“list one.html”,“list two.html”]; var$hidden=$(“
      ”).hide(); var合计=0; //使用jQuery的选择性加载功能从每个URL加载LIs,对它们进行计数,并将计数添加到运行总数中 对于(var i=0;i
  • 因此,本质上,我们要求每个包含列表项的页面进行计数,计算这些页面上的所有列表项,并保持一个运行总数


    注意:根据需要统计的页面和列表的数量,这可能不是特别有效的。但它会起作用,我认为这是在不使用DB或复杂的刮取/缓存系统的情况下实现这一点的唯一现实方法

    您的JS正在添加的数字-它们是存储在数据库中还是仅在HTML中是静态的?好问题。这些数字只是在特定页面上添加所有lis的结果。然后,ID中的HTML将用该数字进行更改。所以我想说静态。这是最好的整体策略吗?关于饼干我还不太了解(我现在就来读)。我希望每次添加或减去一个新的li时,该数字都会更新。首先,您是否希望在关闭浏览器并再次打开时显示最后的总值?是的,我希望它是永久的HTML。然后,当我向任何其他页面添加li时,我的主页将自动更新。这种策略适用于任何单独的页面,但我想找到一种方法让其他页面与主页交互。我想本地存储可能是一个不错的选择。我现在就开始。本地存储有一个问题,这是客户端存储,因此其他用户将无法访问此更新。如果用户更改浏览器,其他用户将无法看到此更新。对于永久和对所有用户可见,您必须将这些数据存储到数据库中,并在重新加载显示总计数的页面时从数据库中获取总值。我有一个类似的示例但我担心效率。到目前为止,所有的答案都非常有用!我想我会接受这个答案。也要感谢Java Seeker的输入。我尝试了localStorage,但正如大家所说,我需要访问数据库。是的,数据库将是实现这一点的有效方法。但是,如果您只有少数页面和列表项,那么就没有必要过分追求效率。出于兴趣,有可能看到它在哪里使用吗?绝对有可能!我的网站正在进行维护,所以可能会出问题。目前我不支付服务器空间的费用,我只是使用Weebly来托管我的站点。所以这个数字有882,有180。我还没有在主页上指定一个空间,但是会在某个地方显示1062。如你所见,lis包含图像、链接、文本等,因此我不得不隐藏很多东西。我刚进入jQuery,所以我一直在摆弄列表的功能。酷豆。是的,我不知道它在这么多物品的情况下会有多好。。!你得试试看。你是否考虑过手动更新总计的明显替代方案?不过没那么有趣;)哈,是的,我当然知道,但这其中的乐趣何在!:)目前,只要在任何页面上添加一个新的li,我的个人总数就能轻松更新。因此,让我的整个网站同步工作将是一件好事