javascript - 我不明白 jQuery .each() 和 .html() 方法是如何工作的

标签 javascript jquery

我是蒂莫。我是网络编程的新手,我遇到了这个问题。我制作了一个包含 3 行的简单 html 表格。每个 td 必须有一个随机数值。我的问题是我的代码在每个 td 元素上都设置了相同的值。

http://jsfiddle.net/timosergio/30ydu4oe/

下面是我的js代码:

        $(function() {

            randomValues();
            //alert(1);
        });


    var randomValues = function(){
        var $td = $('.table').find('td');

        // each td has to have a different random value

        var random_values = Math.random() * 100 ;

        $td.each(function(i){

            //console.log(i + ":" + Math.random() * 100);

            $td.eq(i).text(random_values);

        });


    };

最佳答案

这是因为您要生成一个随机值,然后将其用于每个 td,而不是为每个 td 生成一个新值。所以:

$td.each(function(i){
    $td.eq(i).text(Math.random(Math.random() * 100));
});

换句话说,在循环内而不是在循环外生成随机值。

此外,了解在 each 回调中,上下文(即 this)指向正在考虑的元素。所以你不需要

$td.eq(i).text(...

只是

$(this).text(...

关于javascript - 我不明白 jQuery .each() 和 .html() 方法是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33329626/

相关文章:

jquery - 缩放 div 及其内容以适合窗口

jquery ui spinner 在使用类时不起作用

javascript - Meteor 路由器崩溃 - 无法调用未定义的方法 'filters'

javascript - 在 iPhone 上检测 “Done” 以获取 YouTube/Vimeo 视频(退出全屏)

javascript - Ionic 2+,iOS 仅发布 : resetting plugins due to page load

javascript - 向下滚动时淡出页面顶部的不透明度 javascript

javascript - 输入更改时删除内容

javascript - 仅在向上滚动时固定导航栏

javascript - 如何从 json 文件中检索所有字段?

javascript - DOJO - 放置在 data-dojo-attach-point 中