Javascript 是否可以在循环中结束代码?

Javascript 是否可以在循环中结束代码?,javascript,jquery,Javascript,Jquery,我在这页上有25个元素: <div id="test1"></div> <div id="test2"></div> <div id="test3"></div> <div id="test4"></div> <div id="test5"></div> 要更改所有块中的html,我需要运行此代码5次,例如: setInterval(function() { $.pos

我在这页上有25个元素:

<div id="test1"></div>
<div id="test2"></div>
<div id="test3"></div>
<div id="test4"></div>
<div id="test5"></div>
要更改所有块中的html,我需要运行此代码5次,例如:

setInterval(function() {

  $.post("./main/", {
    record:1,
    opt:'get_res'
  }, function(data){
    $test1=data;
  });

}, 15000);

setInterval(function() {

  $.post("./main/", {
    record:2,
    opt:'get_res'
  }, function(data){
    $test2=data;
  });

}, 15000);

.....
.....

setInterval(function() {

  $.post("./main/", {
    record:3,
    opt:'get_res'
  }, function(data){
    $test3=data;
  });

}, 15000);
例如,对于25个元素,div需要将此代码编写25次-这将是非常大的代码


请告诉我代码是否在循环中实现,以免重复几次?

只需以某种方式迭代元素,使用索引或从ID中提取数字,并存储在数组或对象中,只要最合适:

var test = {};
setInterval(function() {
    $('div[id^="test"]').each(function(i, ele) {
        (function(idx) {
            $.post("./main/", {
                record: idx,
                opt:'get_res'
            }, function(data){
                test[idx] = data;
            });
        })(i+1);
    });
}, 15000);

只需以某种方式迭代元素,使用索引或从ID中提取数字,然后存储在数组或对象中,只要最适合:

var test = {};
setInterval(function() {
    $('div[id^="test"]').each(function(i, ele) {
        (function(idx) {
            $.post("./main/", {
                record: idx,
                opt:'get_res'
            }, function(data){
                test[idx] = data;
            });
        })(i+1);
    });
}, 15000);
您应该看看函数:

更新:基本上,您可以使用任何选择器查找元素

假设页面上有一个简单的无序列表:

<ul>
    <li>foo</li>
    <li>bar</li>
    <li class="findMe">foo2</li>
    <li class="findMe">bar2</li>
</ul>
您应该看看函数:

更新:基本上,您可以使用任何选择器查找元素

假设页面上有一个简单的无序列表:

<ul>
    <li>foo</li>
    <li>bar</li>
    <li class="findMe">foo2</li>
    <li class="findMe">bar2</li>
</ul>

您可以做的是,当数组ans使用此代码时进行测试

 for (i = 1 , i<=25 , i++)
  $.post("./main/", {
  record:i,
  opt:'get_res'
  }, function(data){
  $test[i]=data;
  });

  }, 15000);

对于(i=1,i您可以做的是在数组ans使用此代码时进行测试

 for (i = 1 , i<=25 , i++)
  $.post("./main/", {
  record:i,
  opt:'get_res'
  }, function(data){
  $test[i]=data;
  });

  }, 15000);

对于(i=1,如果您可以只使用一个
$,iIt将更有效。post
并使用它来“馈送”您的元素。如果您可以只使用一个
$,iIt将更有效。post
并使用它来“馈送”您的元素。@Shlomi_-Schwartz但您的代码在页面上找到所有div,以及如何将其与
.post
一起使用?@Shlomi_-Schwartz但您的代码在页面上找到所有div,以及如何将其与
.post
一起使用,以及如何执行下一步?请参见。我在需要使用数组时出现错误…@LeoLoki-您通过闭包解决了这个问题,请参阅我编辑的答案。以及如何执行下一步步骤?请参阅。我在需要使用数组时出错…@LeoLoki-您可以使用闭包解决此问题,请参阅我编辑的答案。