【问题标题】:How to select a random HTML element from the body?如何从正文中选择一个随机的 HTML 元素?
【发布时间】:2019-12-10 21:40:36
【问题描述】:

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

【问题讨论】:

  • 你是什么意思“选择一个随机的 HTML 元素”?你会点击吗?或者你会点击一些按钮,一些随机元素应该被选中?
  • 你试过什么?

标签: javascript jquery html random getelementsbytagname


【解决方案1】:

这样的事情可能会奏效

// 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';

【讨论】:

    【解决方案2】:

    代码执行以下操作:

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

    【讨论】:

      【解决方案3】:

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

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

      然后您可以随意更改样式。例如:

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

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

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

      【讨论】:

        猜你喜欢
        • 2014-06-19
        • 1970-01-01
        • 2013-04-26
        • 1970-01-01
        • 2014-07-23
        • 2010-09-12
        • 2011-06-30
        相关资源
        最近更新 更多