如何从正文中 select 随机 HTML 元素?

How to select a random HTML element from the body?

我想要的只是一种从正文中 select 随机 HTML 元素的方法(最好使用 JavaScript 或 jQuery)。它的范围可以从正文本身到一个分界线,再到一个深嵌在几个分界线中的段落。我想select这个随机元素,然后能够改变它的CSS样式。这特别适合我网站的一个有趣的复活节彩蛋,但如果有人知道如何做到这一点,那就太好了。

类似这样的方法可能有效

// get all the elements from the body
var elems = document.body.getElementsByTagName("*");

// specify a random index
var index = Math.floor(Math.random() * (0 - elems.length + 1)) + elems.length;

// get the random element
var randomElement = elems[index];

// do whatever
randomElement.style.backgroundColor = 'yellow';

代码执行以下操作:

 var selectors = $('*:visible');
 selectors.eq(Math.floor(Math.random() * selectors.length)).css("border", "1px solid red")
  1. 选择所有可见元素
  2. 生成一个小于的随机数 所选元素
  3. 根据随机数选择
  4. 指定红色边框

randojs.com 可以处理 jQuery 个元素,因此从页面中抓取一个随机元素变得非常容易:

var jQueryElement = rando($("*")).value;

然后你可以根据需要更改样式。例如:

jQueryElement.css({background:"red"});

只需将其放入 HTML 文档的 head 标记中,即可开始。

<script src="https://randojs.com/1.0.0.js"></script>