为什么.JQuery中的.join()无法正常工作?

use*_*399 0 arrays checkbox jquery

 <div id="feedback"></div>  

     <form id="myForm" action="controller.php" method="post">

         location1: <input type="checkbox" name="location1" id="location1" value="location1"/>
         location2: <input type="checkbox" name="location2" id="location2" value="location2"/><br>
         <input type="submit" id="submit" value="Submit" />
     </form>


         <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
         <script type="text/javascript">

            $(document).ready(function(){


               $('#submit').click(function(e){

                  var locations = [];

                 $('input:checkbox:checked').each(function(){


                      locations.push($(this).val());

                 });

                 locations.join(" ! ");

                 $('#feedback').text(locations);

                 e.preventDefault();
               });

            });

         </script>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,输出始终与逗号(,)分隔符一起使用.另外为什么$('#feedback').html(locations); 是不是在地点的元素之间进行任何分离?

的jsfiddle

Saj*_*air 5

您必须将返回值join()赋给变量,它不会更改数组

var loc = locations.join(" ! ");
$('#feedback').text(loc);
Run Code Online (Sandbox Code Playgroud)