jQuery每个循环变量内部

时间:2017-01-11 07:51:43

标签: jquery arrays loops variables each

我对这段代码有疑问,

var sourceArray = ['facebook', 'instagram', 'youtube', 'twitter', 'linkedin', 'vk', 'google+'];

var utmMediumContent = '<select name="utm-source" id="i-utm-source" class="builder-input">'+
$.each(sourceArray, function(index,value){
    console.log ('<option value="'+value+'">'+value+'</option>');
    return ('<option value="'+value+'">'+value+'</option>');
})
+'</select>';

console.log(utmMediumContent);

第一个console.log完全返回,我想要<option value="facebook">facebook</option>等,

但是第二个console.log只返回数组中的select和values - facebook,instagram,youtube等。

<select name="utm-source" id="i-utm-source" class="builder-input">facebook,instagram,youtube,twitter,linkedin,vk,google+</select>

如果有可能,我会很感激如何在变量内部循环。

提前感谢您的帮助

2 个答案:

答案 0 :(得分:2)

那不是你应该怎么做的。您应该将selectoptions附加到数组中。请参阅工作代码段:

&#13;
&#13;
var sourceArray = ['facebook', 'instagram', 'youtube', 'twitter', 'linkedin', 'vk', 'google+'];

var utmMediumContent = [];
utmMediumContent += '<select name="utm-source" id="i-utm-source" class="builder-input">';
  $.each(sourceArray, function(index, value) {
    //console.log('<option value="' + value + '">' + value + '</option>');
    utmMediumContent += '<option value="' + value + '">' + value + '</option>';
  });
utmMediumContent += '</select>';
console.log(utmMediumContent);
$(utmMediumContent).appendTo('body');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

不是返回,而是可以使用连接构造元素:

  utmMediumContent  += '<option value="'+value+'">'+value+'</option>';
});
utmMediumContent += '</select>';