jquary 每秒selector用法

我想要每秒隨機產生一個TR來進行css操作,
但不想每秒對table做selector,
一次性取出放在 Array or Map怎麼做呢?
或是有什麼其他的方法?


setInterval(function (){
  var TR = $("table tr:eq("+(Math.floor(Math.random() * 3)+ 1)+") td:eq(5)");
  $(".textMark").removeClass("textMark");
  TR.text(2 * Math.random().toFixed(4)).addClass("textMark");
  }, 1 * 1000);
阅读 1.6k
1 个回答

TR是新生成的吗?如果是新生成的那就没有什么比较好的办法了,DOM在实时变化,要获取所有的tr只能重新$('table tr')了,如果用了react虚拟DOM倒有一些可能,对数据进行操作。
如果不是的话,可以将所有的TD先缓存起来,再用eq选择器进行选择。

var $TRs = $('table tr');
setInterval(function (){
  var index = (Math.floor(Math.random() * 3)+ 1);
  var TD = $TRs.eq(index);
  $(".textMark").removeClass("textMark");
  TD.text(2 * Math.random().toFixed(4)).addClass("textMark");
}, 1 * 1000);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题