通过选择随机ID通过JQuery分配类

我有一系列div,每个都有一个增量ID:

contents
contents
contents
contents
contents
contents

我试图通过ID来选择一个类: $('#id').addClass('someClass'); 但我希望从我在那里的范围中随机选择’#id’。 范围可能相当大,可能高达50 ids或更多。 我猜这必须读取ID作为数字,对吗? 我如何获得随机数?

……这是完整的方案:

 setInterval ( "flipit()", 3000 ); function flipit ( ) { $(document).ready(function(){ var elmId = 'nS_' + (Math.floor(Math.random() * 6) + 1); $('#' + elmId).addClass('numSen2'); }); } 
  .numSen { visibility: hidden; } .numSen2 { visibility: visible; }  
contents
contents
contents
contents
contents
contents

'#id'只是一个字符串。 因此,在修复您的ID(它们必须以字母开头)之后,像在其他任何地方一样构建一个字符串:

 var elmId = 'somePrefix_' + (Math.floor(Math.random() * 5) + 1); $('#' + elmId).addClass('someClass'); 

我会重新训练你的元素,以便他们提前上课。 这样,您可以从要更改的元素中选择一个元素,而不是所有元素。

 
contents
contents
contents
contents
contents
contents

然后在你的JavaScript中:

 var elements = $('.addClassToMe'); $(elements[Math.floor(Math.random()*elements.length)]).addClass('someClass'); 

未经测试,但应该工作,或接近它。

你可以做得更短。 这将选择一个随机id在1-100之间的divhide()它:

 $('div#'+~~(Math.random()*101)).hide(); 

编辑:

 var $divs = $('div'), len = $divs.length; $divs.filter('#'+~~(Math.random()*++len)).hide(); 

Math.floorMath.random()结合使用可创建随机选择器:

 var selector = '#' + (Math.floor(Math.random() * 50) + 1); $(selector).html();