【问题标题】:jQuery to read specific values depending on the page shownjQuery 根据显示的页面读取特定值
【发布时间】:2018-05-20 14:05:06
【问题描述】:

我有 3 个相同的 HTML 页面、相同的 div 和名称。在每个页面上,我通过从文本文件中读取特定值来使用 jQuery 更改 div 的内容。不幸的是,我有 3 个完全相同的 jQuery 文件,唯一的区别是它们从不同的文本文件中读取。我想做的是拥有一个 jQuery 文件和一个文本文件。但问题是 jQuery 总是会访问每个页面上的相同文件。

HTML 1:

<div class="number"><p><span id="number1"></span> </p></div>
<div class="number"><p><span id="number2"></span> </p></div>
<div class="number"><p><span id="number3"></span> </p></div>
<div class="mean"><span id="mean1"></span></div>
<div class="mean"><span id="mean2"></span></div>
<div class="mean"><span id="mean3"></span></div>

HTML 2:

<div class="number"><p><span id="number1"></span> </p></div>
<div class="number"><p><span id="number2"></span> </p></div>
<div class="number"><p><span id="number3"></span> </p></div>
<div class="mean"><span id="mean1"></span></div>
<div class="mean"><span id="mean2"></span></div>
<div class="mean"><span id="mean3"></span></div>

HTML 3:

<div class="number"><p><span id="number1"></span> </p></div>
<div class="number"><p><span id="number2"></span> </p></div>
<div class="number"><p><span id="number3"></span> </p></div>
<div class="mean"><span id="mean1"></span></div>
<div class="mean"><span id="mean2"></span></div>
<div class="mean"><span id="mean3"></span></div>

三个页面完全一样,所以可以应用同一个jQuery=d。

jQuery:

 $('#number1,#number2,#number3').text(function(i){
     return table[i][2];
    });

 $('#mean1,#mean2,#mean3').text(function(i){
     return table[i][3];
    });

文本文件:

1;1;20;3.6;0%;70%;25%;0%;5%;
1;2;80;4;45%;20%;20%;15%;0%;
1;3;80;4;40%;35%;5%;20%;0%;
2;1;20;3.6;0%;70%;25%;0%;5%;
2;2;80;4;45%;20%;20%;15%;0%;
2;3;80;4;40%;35%;5%;20%;0%;
3;1;20;3.6;0%;70%;25%;0%;5%;
3;2;80;4;45%;20%;20%;15%;0%;
3;3;80;4;40%;35%;5%;20%;0%;

因此,例如,我希望第一个 HTML 页面从前三行读取,第二个从接下来的三行读取。我不知道如何在文本文件中做一些分隔符,或者在前三行被删除之后。就是不知道怎么实现。

【问题讨论】:

标签: jquery html


【解决方案1】:

将 Javascript 代码包装在一个函数中,并将代码包含在每个 html 文件中。 调用每个html文件中当前页码的函数

function setText(page){
  page = page - 1;
  $('#number1,#number2,#number3').text(function(i){
    return table[(page*3)+i][2];
  });
  $('#mean1,#mean2,#mean3').text(function(i){
    return table[(page*3)+i][3];
  });
}

//on page 1 line 1-3 is used
setText(1);
//on page 2 line 4-6 is used
setText(2);
//on page 3 line 7-9 is used
setText(3);

在我看来,仅使用一个 HTML 和 JavaScript 文件是不可能的,因为您需要以某种方式确定您当前所在的页面。 删除行听起来不是一个好主意,因为那样你就会丢失数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    相关资源
    最近更新 更多