2013-03-24 3 views
-1

У меня есть некоторые HTML, как:.Как использовать = в JQuery

<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 (переменная, которая хранит как 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); 
    }); 

или, возможно, какая-то реализация массива здесь ...!? Thanks

+1

'. =' Является конкатенацией в PHP – hjpotter92

+0

почему 3 отрицательных пункта !? что это? – behz4d

+0

['. =' В PHP] (http://php.net/manual/en/language.operators.string.php) vs ['+ =' в Javascript] (http://www.w3schools.com/ js/js_operators.asp) – Aiias

ответ

0

Это попробовать этот фрагмент кода. Могу вам помочь.

$(document).ready(function() { 
    var img_names = []; 
    $('.fileName').each(function(index){ 
     img_names.push($(this).html());  
    }); 
    alert(img_names); 
}); 

Пожалуйста, обратите внимание, что .= не будет работать в JavaScript.

+0

Используйте [] вместо нового массива и нажмите на содержимое – mplungjan

3

Использовать += вместо .=.

Вам нужно +, чтобы соединить в javascript.

1

JavaScript использует +, чтобы объединить строки. Я бы сделал массив:

var images = []; 

$('.fileName').each(function() { 
    images.push($(this).text()); 
}); 

Или с .map():

var images = $('.fileName').map(function() { 
    return $(this).text(); 
}).get(); 
1

Код должен быть вместо этого, как:

var img_names = ""; 
$('.fileName').each(function() { 
    img_names += $(this).html(); 
}); 
$('#img_names_input').val(img_names); 
Смежные вопросы