【问题标题】:Accessing jQuery IDs with for loop使用 for 循环访问 jQuery ID
【发布时间】:2013-10-30 18:07:53
【问题描述】:

我有一个简单的问题,希望得到一个简单的答案。

所以,我有一个我正在使用的JSON 文件,其中包含大量数据。我正在尝试使用已构建的此类数据制作幻灯片,但是在不对所有内容进行硬编码的情况下将正确的信息附加到幻灯片时遇到了麻烦。

我的想法是使用for 循环来定位特定的 ID(幻灯片),但我一生都无法弄清楚如何为循环定位每个项目。

我在想这样的事情,这根本不起作用哈哈。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script>
$(function() {
    for (var i=0; i<10; i++) {
        $('#slide(i)').append("<p>Hello World</p>");
    }
})();
</script>
</head>
<body>
<div id="slide0"></div>
<div id="slide1"></div>
<div id="slide2"></div>
<div id="slide3"></div>
<div id="slide4"></div>
<div id="slide5"></div>
<div id="slide6"></div>
<div id="slide7"></div>
<div id="slide8"></div>
<div id="slide9"></div>
</body>

就实际针对单个幻灯片而言,我尝试的任何语法都无法实现。

感谢您的帮助!

【问题讨论】:

    标签: javascript jquery json for-loop append


    【解决方案1】:

    使用字符串连接

    jQuery(function ($) {
        for (var i = 0; i < 10; i++) {
            //use string concatenation
            $('#slide' + i).append("<p>Hello World</p>");
        }
    });//also there is no () here... it is not a IIFE... it is a callback registration which will be invoked by jQuery when dom ready is fired
    

    演示:Fiddle

    【讨论】:

    • 多么奇怪,这是我尝试的第一件事……一定是在某个地方漏掉了一句话:-P 谢谢!
    • 关于您添加的评论,我总是通过运行涉及不同语言的自调用函数来教导我记录使用的语言是一种好习惯吗? })(jQuery);例如。有错吗?
    • @NicholasHazel 你的实现是错误的...查看更新以在没有 IIFE 的情况下获得相同的效果...
    • jsfiddle.net/mWEfN/2 既然我知道出了什么问题,那应该可以很好地使用我的 JSON。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多