遍历具有不同变量的HTML代码块

时间:2018-07-25 12:13:12

标签: javascript html loops

我正在尝试进行循环操作,以免一直为包含8张照片的Instagram小部件重写代码。每个循环都有自己的编号(例如,theme.instagram_img_1到theme.instagram_img_8)。但是,在循环中会涉及到一些外部变量,从而造成问题。

{% if theme.instagram_img_1 %}
  <div class="col-12 col-sm-6 col-lg-3 pb30">
    <a href="{{ theme.instagram_url_1 }}">
      <figure>
      <div class="instagram-click"><i class="fa fa-3x fa-instagram"></i></div>
      <img src="{{ 'img-instagram-img-1.jpg' | url_asset }}" width="100%">
      </figure>
    </a>
  </div>
{% endif %}
{% if theme.instagram_img_2 %}
  <div class="col-12 col-sm-6 col-lg-3 pb30">
    <a href="{{ theme.instagram_url_2 }}">
      <figure>
      <div class="instagram-click"><i class="fa fa-3x fa-instagram"></i></div>
      <img src="{{ 'img-instagram-img-2.jpg' | url_asset }}" width="100%">
      </figure>
    </a>
  </div>
{% endif %}

我希望循环总共进行8次。到目前为止,这是我想出的:

<div id="myHTMLWrapper"></div>

<script>
var wrapper = document.getElementById("myHTMLWrapper");
var myHTML = '';
for (var i = 0; i < 8; i++) {
  myHTML += '{% if theme.instagram_img_' + (i + 1) + ' %}<div class="col-12 col-sm-6 col-lg-3 pb30">< a href = "{{ theme.instagram_url_1 }}" ><figure><div class="instagram-click"><i class="fa fa-3x fa-instagram"></i></div><img src="{{ 'img-instagram-img- ' + (i + 1) + '.jpg' | url_asset }}" width="100%"></figure></a></div>{% endif %}';
}
wrapper.innerHTML = myHTML
</script>

1 个答案:

答案 0 :(得分:0)

此行有错误:

myHTML += '{% if theme.instagram_img_' + (i + 1) + ' %}<div class="col-12 col-sm-6 col-lg-3 pb30">< a href = "{{ theme.instagram_url_1 }}" ><figure><div class="instagram-click"><i class="fa fa-3x fa-instagram"></i></div><img src="{{ 'img-instagram-img- ' + (i + 1) + '.jpg' | url_asset }}" width="100%"></figure></a></div>{% endif %}';

更改此:

< a href = "{{ theme.instagram_url_1 }}" >

对此:

< a href = "{{ theme.instagram_url_' + (i + 1) + ' }}" >