Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中为循环更正此错误?_Javascript - Fatal编程技术网

如何在javascript中为循环更正此错误?

如何在javascript中为循环更正此错误?,javascript,Javascript,我试图创建一个for循环,它将获取ul中每个项的值,然后从这些元素创建一个字符串。而$(“#可排序li:nth child(1)”).text();工作(将1替换为2、3、4等)并一次将每个项目合并为一个,下面的for语句一次将整个ul。我该如何解决这个问题 info = '' for (var i =1; i <= 7; i++) { value = $("#sortable li:nth-child(i)").text();

我试图创建一个for循环,它将获取ul中每个项的值,然后从这些元素创建一个字符串。而$(“#可排序li:nth child(1)”).text();工作(将1替换为2、3、4等)并一次将每个项目合并为一个,下面的for语句一次将整个ul。我该如何解决这个问题

        info = ''
        for (var i =1; i <= 7; i++) {
          value = $("#sortable li:nth-child(i)").text();
          alert(value);
          info = info + ',' + value;
        }
        alert(info);



<ul id="sortable">
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 5</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 6</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 7</li>
</ul>
info=''

对于(var i=1;i参数将被解析为字符串。您需要停止该字符串并首先连接
i
的值:

$("#sortable li:nth-child(" + i + ")").text();

正在将参数解析为字符串。您需要停止该字符串并首先连接
i
的值:

$("#sortable li:nth-child(" + i + ")").text();

试试这个而不是循环

var info = $('#sortable li').slice(0,7).map(function(){
  return $.trim($(this).text());
}).toArray().join(', ');

console.log(info);
//=> "Item 1, Item 2, Item 3, Item 4, Item 5, Item 6, Item 7"

试试这个而不是循环

var info = $('#sortable li').slice(0,7).map(function(){
  return $.trim($(this).text());
}).toArray().join(', ');

console.log(info);
//=> "Item 1, Item 2, Item 3, Item 4, Item 5, Item 6, Item 7"

这就是你想要实现的吗?使用

或者不用,用,

或者使用相同的东西和

或使用

如果您特别希望将其作为for循环,我相信如果您希望使用jquery选择器,那么您可以从上面的示例中了解到这一点

var lis = document.querySelectorAll("li"),
    length = lis.length,
    array = [];

for (i = 0; i < length; i += 1) {
    array.push(lis[i].textContent);
}

alert(array.join(","));
var lis=document.querySelectorAll(“li”),
长度=lis.length,
数组=[];
对于(i=0;i

上,这就是您想要实现的目标吗?使用

或者不用,用,

或者使用相同的东西和

或使用

如果您特别希望将其作为for循环,我相信如果您希望使用jquery选择器,那么您可以从上面的示例中了解到这一点

var lis = document.querySelectorAll("li"),
    length = lis.length,
    array = [];

for (i = 0; i < length; i += 1) {
    array.push(lis[i].textContent);
}

alert(array.join(","));
var lis=document.querySelectorAll(“li”),
长度=lis.length,
数组=[];
对于(i=0;i

var lis = document.querySelectorAll("li"),
    length = lis.length,
    array = [];

for (i = 0; i < length; i += 1) {
    array.push(lis[i].textContent);
}

alert(array.join(","));