循环中的异步回调函数

时间:2015-12-09 11:06:40

标签: javascript

这是一种与其他任何问题不同的情况。

我有几个带有类和数据标签属性的div元素。

<div class='toLoad' data-label='a'></div>
<div class='toLoad' data-label='b'></div>
<div class='toLoad' data-label='c'></div>
<div class='toLoad' data-label='d'></div>

这是javascript:

function theData(e) {
  // What do I do here to put the data to their respective div
}

function createScript() {
  var elem = document.querySelectorAll('div.toLoad');
  for (var i = 0; i < elem.length; i++) {
    var theLabel = elem[i].getAttribute('data-label'),
      theLink = "/index/"+ theLabel +"&callback=theData",
      currentItem = elem[i],
      e = document.createElement('script');
    e.src = theLink;
    e.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(e);
  }
}

放入上述Javascript后,会附加一个脚本元素。加载后,脚本返回一个名为theData的回调函数,其中所有内容都作为参数。我想将返回的内容附加到各自的div元素。

我不知道如何准确地把它们放进去。

1 个答案:

答案 0 :(得分:0)

假设回调方法可用且它有两个参数data-label值(用于标识应该填充哪个div)和数据本身

function callback( dataLabel, htmlData )
{
  $( "div[data-label='" + dataLabel + "']".html( htmlData ) );
}
相关问题