<span> </span>中的Jquery显示数组元素

时间:2014-02-25 20:33:39

标签: javascript jquery html

我正在学习jquery,我想在每个范围内显示数组元素。这是我的功能:

function display_locations() {
    $('document').ready(function () {

        array = ['london', 'ontario', 'san francisco', 'new york'];
        var newHTML = [];
        for (var i = 0; i < array.length; i++) {
            newHTML.push('<span>' + array[i] + '</span>');
        }
        $("places-panel").html(newHTML.join(""));

    });
}

在HTML文件中我有:

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery /1.4/jquery.min.js?ver=3.2.1'></script>
<div id="footer">
  <div id="places-panel">
    This will be replaced by new places from array<br>
  </div>
  <div id="button-display">
    <button onclick="display_locations();">Get places</button> 
  </div>
</div>

我希望每次单击按钮时都替换文本(每个元素都被包装)。但不知何故,我认为我弄错了代码,所以它不起作用。

你可以给我任何暗示吗?

谢谢

1 个答案:

答案 0 :(得分:1)

这可能有效:

function display_locations() {
   var array = ['london', 'ontario', 'san francisco', 'new york'];
   var newHTML = "";
   for (var i = 0; i < array.length; i++) {
      newHTML = newHTML + '<span>' + array[i] + '</span>';
   }
   $("#places-panel").html(newHTML);
}

$('button').click( function () {
   display_locations();
})

我将newHTML转换为字符串,因为它更容易处理数组,我还创建了<button> click处理程序来执行请求的更改,最后还更正了错过的#为占位符id(ID引用了#加上ID名称,带有.的类加上类名和HTML元素,只有它们的名称,即{ {1}})。

编辑:

我还删除了函数$('button'),但我刚刚更改了代码以使函数更接近原始请求。

Fiddle