javascript - jquery 在 <ul> 中显示项目列表

标签 javascript jquery html

您好,我想显示里面的项目列表

示例 html 代码

<h3 id="game-filter" class="gamesection">
           <span>Game</span></h3>
        <div id="game-filter-div" style="padding: 0;">
            <ul id="gamelist">
            </ul>
        </div>

代码

var games = new Array();
    games[0] = "World of Warcraft";
    games[1] = "Lord of the Rings Online";
    games[2] = "Aion";
    games[3] = "Eve Online";
    games[4] = "Final Fantasy XI";
    games[5] = "City of Heros";
    games[6] = "Champions Online";
    games[7] = "Dark Age of Camelot";
    games[8] = "Warhammer Online";
    games[9] = "Age of Conan";
    function pageLoaded(){
        var list = "";

            for(i=0; i<games.length; i++){
        list ="<li>"+games[i]+"</li>";
        $("#gamelist").append(list);
        //document.getElementById("gamelist").innerHTML=list;
        list = "";
        }

}

看来我的js代码有问题。它不输出任何东西

最佳答案

你做错的地方太多了。

首先,它不是纯 javascript,而是 jquery。

您需要引用jQuery api能够使用 jQuery。

但是,您也可以通过纯 javascript 实现您想要的。

现在让我们看看你的错误

  1. 您已经创建了一个函数 pageLoaded ,但没有在任何地方调用它。您需要调用一个函数才能使其逻辑正常工作。我假设你想调用你的 pageLoaded页面准备好时的方法。你可以在 body 负荷时调用它,也可以简单地在 jQuery 的 .ready 中调用它。即$(document).ready(function(){ pageLoaded()}); . 此方法只是确保您的逻辑在 dom 准备就绪时执行

  2. 您在方法“数组中的项”中写入了非关键字、无意义的词。删除它以使您的功能正常工作。我假设您想在那儿发表评论,在脚本标签内发表这样的评论:

     //items in the array
    
  3. 您没有将新值连接到您的 list变量,你将在每次迭代中覆盖它的内容,所以而不是 list ="<li>"+games[i]+"</li>";这个,做这个

     list +="<li>"+games[i]+"</li>";
    
  4. 最后,您要附加 list#gamelist在for循环里面。在循环外做。一旦你的 list 完成。并删除行 list=" " 所以放置此行 $("#gamelist").append(list);在 for 循环之外。

像这样尝试你的函数:

var games = new Array();
    games[0] = "World of Warcraft";
    games[1] = "Lord of the Rings Online";
    games[2] = "Aion";
    games[3] = "Eve Online";
    games[4] = "Final Fantasy XI";
    games[5] = "City of Heros";
    games[6] = "Champions Online";
    games[7] = "Dark Age of Camelot";
    games[8] = "Warhammer Online";
    games[9] = "Age of Conan";
$(document).ready(function(){
        var list = "";
        for(i=0; i<games.length; i++){
        list +="<li>"+games[i]+"</li>";
        }
    $("#gamelist").append(list);

});

看这个fiddle

关于javascript - jquery 在 <ul> 中显示项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112801/

相关文章:

java - 在方法中的循环外部提取变量

c# - Javascript:如何遍历模型中的对象列表

javascript - 在 .NET MVC 的 ajax 函数中解析 JSON 时出现未定义错误

javascript - 从对象及其子对象中获取所有名称

javascript - JQuery-UI 日期选择器无法正常工作

javascript - JQuery - 将 JS 转换为 JQuery 以生成允许解析 URL 参数的表

javascript - 如果 ui-router 解析的一部分返回 true 或 promise ,我该如何编写代码?

jquery - 如何在客户端和服务器端使用验证规则?

javascript - 将多个 Backbone View $el 合并到一个 jQuery 对象中

javascript - 如何在一个 jQuery 移动页面中的多个 DIV 之间滑动?