javascript - 在 Javascript 中重构

标签 javascript function refactoring

这是我的代码:

var randomColor = ["red", "blue", "green", "#9CBA7F", "yellow", "#BF5FFF"];

function setRandomColor() {
 return randomColor[Math.floor(Math.random() * randomColor.length)];
}

$('.mastermind_master_cpu').each(function() {
 $(this).find('td').each(function() {
   $(this).css("background-color", setRandomColor);
 })
})

如您所见,mastermind_master_cpu 表将随机填充不同的背景颜色。问题是我有十个不同的表,每次都重复这个。有谁知道我如何才能只制作一个函数/变量并在需要时调用它?

谢谢!

最佳答案

创建一个类,例如 random_color,以应用于除当前类之外的每个表,如下所示:

<table class="mastermind_master_cpu random_color">...</table>

然后你可以只用一次:

$('.random_color').each(function() {
 $(this).find('td').each(function() {
   $(this).css("background-color", setRandomColor);
 })
})

但是作为cookie monster指出,这可以更简洁地完成:

$('.random_color td').css("background-color", setRandomColor);

Demonstration

关于javascript - 在 Javascript 中重构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23274884/

相关文章:

javascript - 在 JavaScript 中重构

javascript - meteor apollo graphql/sequelize 缓存查询结果以避免多次相同的查询

javascript - 如何使用 Javascript 触发 Pusher 事件

javascript - 需要帮助调试功能更改

C代码,搜索功能

c# - 如何重构多个相似的 Linq 查询?

javascript - 如果 try 中的语句出错,则要 catch

javascript - 如何使用 momentjs 格式化格式化字符串

excel - 是否可以在 VBA 中对函数调用进行分组?

c - 如何避免类似 ISR 之间的代码重复?