将项目列入javascript数组

时间:2014-04-22 14:13:43

标签: javascript jquery arrays variables

试图弄清楚如何从" var fonts"中获得一个像样的阵列。目的是在输入值中包含随机文本。目前它只会输出一长串文本(Text1Text2text3text4andsoon)。

$(document).ready(function(){
    var fonts = [];
    $(".oppa").each(function(){
        var txt = $(this).find("li").text();
        //alert(txt);
        fonts.push(txt);
    });

    alert(fonts);

    var time = setInterval(function() {
       var newFont = fonts[Math.floor(Math.random()*fonts.length)];
       $('#uwpqsf_id_key').attr('value', newFont);
    }, 1000);

    $('#uwpqsf_id_key').hover(function(ev){
        clearInterval(time);
    }, function(ev){
        time = setInterval(function() {
           var newFont = fonts[Math.floor(Math.random()*fonts.length)];
           $('#uwpqsf_id_key').attr('value', newFont);
        }, 1000);
    });
});

1 个答案:

答案 0 :(得分:0)

您的代码中的问题是您收到了所有" li"元素一共进入" txt"变量。因此,"字体"是一个长度为1的数组。

您需要遍历每个列表项以正确构建"字体"阵列。类似的东西:

$(document).ready(function(){
  var fonts = [];

  $(".oppa").each(function(){
       $(this).find("li").each(function(){
           fonts.push($(this).text());
       });
  });

  alert(fonts.length);  // fonts is now an array with length equal to your number of list items

  /* Rest of your code goes here */

});

最佳。