我是蒂莫。我是网络编程的新手,我遇到了这个问题。我制作了一个包含 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/