我有一些HTML:
<div class="blah">
<span class="fileName">1.jpg</span>
</div>
<div class="blah">
<span class="fileName">2.jpg</span>
</div>
<div class="blah">
<span class="fileName">3.jpg</span>
</div>
<div class="blah">
<span class="fileName">4.jpg</span>
</div>
我想用jQuery获取文件名(一个存储smth的变量,如1.jpg,2.jpg,3.jpg,4.jpg)。
我终于可以使用隐藏的输入框来完成它,这是我的工作脚本:
<input type="hidden" id="img_names_input" />
<script>
$('.fileName').each(function(){
var img_names_input = $(img_names_input).val();
var img_names = $(this).html();
$(img_names_input).val(img_names_input+','+img_names);
});
</script>
这工作得很好,但对我来说似乎不是一个完美的解决方案,我只是一个学习者,任何人都可以想出更好的解决方案吗?类似的东西:
$('.fileName').each(function(){
var img_names .= ',' + $(this).html();
alert(img_names);
});
或者可能是某种阵列实现......! 感谢
答案 0 :(得分:3)
使用+=
代替.=
。
您需要+
在javascript中连接。
答案 1 :(得分:1)
JavaScript使用+
来连接字符串。我会做一个数组:
var images = [];
$('.fileName').each(function() {
images.push($(this).text());
});
或.map()
:
var images = $('.fileName').map(function() {
return $(this).text();
}).get();
答案 2 :(得分:1)
代码应该是:
var img_names = "";
$('.fileName').each(function() {
img_names += $(this).html();
});
$('#img_names_input').val(img_names);
答案 3 :(得分:0)
尝试这个代码片段。可以帮到你。
$(document).ready(function() {
var img_names = [];
$('.fileName').each(function(index){
img_names.push($(this).html());
});
alert(img_names);
});
请注意.=
无法在javascript中使用。