如何使用。=在jQuery中

时间:2013-03-24 08:07:08

标签: javascript jquery string string-concatenation

我有一些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);
    });

或者可能是某种阵列实现......! 感谢

4 个答案:

答案 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中使用。