繁体   English   中英

在javascript中打印对象数组,并在html标签中打印

[英]print array of object in javascript and print in html tags

我正在使用storelocater.js在Google地图中的多个位置,并根据带有图像的位置显示信息。 我只能显示一个图像,但我想在信息面板中显示多个图像。 连结这个

图片我想展示的方式

这是我的代码

    var panelDiv = document.getElementById('panel');
storeLocator.Panel.NO_STORES_IN_VIEW_HTML_ = '<li class="no-stores">The nearest outlet:</li>';
  var Store = storeLocator.Store;
  Store.prototype.generateFieldsHTML_ = function(fields) {
    var html = '';
    html += '<div class="store-data">';
    if(this.props_['title']){
      html += '<div class="title"><div class="img-list clearfix">' + 
      for (var i = 0; i <= this.props_[images].length; i++) {
        console.log(this.props_[images[i]]);
        // <img src=' + this.props_['images'] + '>
      }
  + '</div></div>'
    }
    html += '</div>';
    return html;
  }
  var data = new storeLocator.StaticDataFeed;
  data.setStores([
    new storeLocator.Store('store02', new google.maps.LatLng(27.67663,85.31093), null, {images: ["img/thapathalil.jpg","img/thapathalil.jpg","img/thapathalil.jpg"]})
  ]);

它显示:Uncaught SyntaxError:意外的令牌为...

我该如何解决呢? 我如何获取“图像”内部的位置

提前致谢

我认为有一个错字。 更改此:

console.log(this.props_[images[i]])

console.log(this.props_['images'][i])

你应该使用

i < this.props_['images'].length

所以试试这个:

for (var i = 0; i < this.props_['images'].length; i++) {
    console.log(this.props_['images'][i]);
}

实际上,您收到了Uncaught SyntaxError: Unexpected token for...因为您在字符串连接语句中直接在+号之后使用了for..loop

更改此代码:

html += '<div class="title"><div class="img-list clearfix">' + 
for (var i = 0; i <= this.props_[images].length; i++) {
  console.log(this.props_[images[i]]);
  // <img src=' + this.props_['images'] + '>
}
+ '</div></div>'

要以下内容:

html += '<div class="title"><div class="img-list clearfix">';
for (var i = 0; i <= this.props_['images'].length; i++) {
  console.log(this.props_['images'][i]);
  html += '<img src=' + this.props_['images'][i] + '>';
}
html += '</div></div>'

注意:

  • 您应该使用html +=将字符串的串联与html变量和for循环逻辑分开,而不是仅在多行上使用带有+号的串联。
  • 在访问对象时,请确保将属性名称包装在两个''之间,例如,在this.props_[images]中应为this.props_['images'] ,在this.props_[images[i]]中应将属性名是this.props_['images'][i]
  • 以及html变量声明和连接的前两行, var html = ''; html += '<div class="store-data">'; var html = ''; html += '<div class="store-data">'; 可以简化为var html = '<div class="store-data">';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM