javascript - 将字符串数组中的字母添加到每个动态 div

标签 javascript jquery

我试图将单词的每个字母添加到动态生成的 div .box.boxIn 但代码只是将最后一个单词添加到每个框!我该如何解决这个问题,他为什么会这样?有没有办法将两个循环合并为一个循环?

Here is the demo

这是我的代码:

var letters = [];
var str = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
var letters = str.split(",");
var word = "Test App";
for (var i = 0; i < word.length; i++) {
    $('<div class="box"><div class="boxIn"></div></div>').appendTo(".wrapper");
}

for (var j = 0; j < word.length; j++) {
    $('.boxIn').html(word.charAt(j)).addClass('animated fadeInDown');
}

最佳答案

那是因为你覆盖了所有 .boxIn 元素的 html 内容,你应该使用当前迭代器的索引来选择目标元素:

$('.boxIn').eq(j).html(word.charAt(j)).addClass('animated fadeInDown');

http://jsfiddle.net/k4spypqj/

也就是说没有必要使用 2 个循环。您可以使用 texthtml 方法在第一个循环中设置生成的元素的内容。

关于javascript - 将字符串数组中的字母添加到每个动态 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25827758/

相关文章:

jquery - NodeJS + JSON + jQuery : send JSON-object form Node-backend to jQuery-frontend

jquery - 动态向表添加行数

java - 使用 json 从单选按钮输入显示动态 mysql 表

javascript - 简单变量检查返回 false,应该为 true

javascript - 在世界/国家 map 上绘制数据

JavaScript->CSS : display ="";?

javascript - 使用适用于网络浏览器的 Google URL Shortener API

javascript - 将 FileAttachment 注释链接到文件

javascript - 在 PHP 函数中使用表单选择值

jquery - JQgrid语法错误,custom_value函数的返回值无法识别的表达式