在每个函数中使用数组值更改div内容

时间:2014-04-22 12:35:47

标签: jquery

我一直在尝试这个过去很多个小时,我知道这是可能的,我正在做的是,我有一个需要用数组中的数据更新的div。以下是我的代码:

var data = $.trim('test1, test2, test3');
var data_array = data.split(',');
 $.each(data_array, function(key,value) {
   $("#waitingcategoryinsert span").replaceWith(value);
 });

虽然这是我需要放置内容的HTML div

<div id ="waitingcategoryinsert">
   <img src ="../includes/templates/snowwhite/images/loading.gif"/>
    <span></span>
</div>

此函数仅使用数组的第一个值更新div,即&#34; test1&#34;我希望一个接一个地延迟显示所有3个值。我也尝试过使用settimeout()函数,但这也没有用。请帮我解决我想去哪里?,提前谢谢

5 个答案:

答案 0 :(得分:0)

要为span添加值,请尝试以下方法:

  $("#waitingcategoryinsert span").html(value);

删除span并继续追加数组元素:

  if($("#waitingcategoryinsert span").length)
      $("#waitingcategoryinsert span").remove();
  $("#waitingcategoryinsert").append(value) ;

更新:显示有延迟的元素:

  var i=1;
  $.each(data_array, function(key,value) {
   setTimeout(function(){
      $("#waitingcategoryinsert span").html(value);
   },500 + ( i * 500 ));
   i=i+1;
  });

<强> Working Demo

答案 1 :(得分:0)

你错过了。

$("#waitingcategoryinsert span").prepend(value)

答案 2 :(得分:0)

我认为您正在寻找 .append() 而不是.replaceWith()

$("#waitingcategoryinsert span").append(value);

<强> Fiddle Demo

答案 3 :(得分:0)

试试这个:

$.each(data_array, function(key, value) {
    $("#waitingcategoryinsert span").append(value);
});

<强> jsFiddle

答案 4 :(得分:0)

我认为您应该使用Jquery的Append属性来显示所有结果。因为append可以保存其中的所有值。

var data = $.trim('test1, test2, test3');   
var data_array = data.split(',');   
$.each(data_array, function(key,value) {  
$("#waitingcategoryinsert span").append(value);  
});