javascript - 如何触发 JavaScript 中元素的点击

标签 javascript

我有以下 Html:

<div class="box-row">
    <div class="box c2-3">
        <div class="box-overlay"></div>
        <div class="box-letter"></div>
    </div>
    <div class="box c2-4">
        <div class="box-overlay"></div>
        <div class="box-letter"></div>
    </div>
    <div class="box c2-5">
         <div class="box-overlay"></div>
         <div class="box-letter"></div>
    </div>
    <div class="box c2-6 trr">
         <div class="box-overlay trr"></div>
         <div class="box-letter"></div>
    </div>
 </div>

我想随机选择具有以下类的元素之一:c2-3、c2-4、c2-5、c2-6 并触发点击。

这是我迄今为止的代码:

    var map = [
        'c2-3', 'c2-4', 'c2-5', 'c2-6',
    ];

    var x = Math.floor((Math.random() * 4));
    var element = document.getElementsByClassName(map[x]);

此时我想触发点击,但不确定如何执行:

 element.trigger('click'); ??

最佳答案

使用element.click();而不是 element.trigger('click'); 而且,您需要只获取单个元素,或者循环返回的 HTMLCollection来自.getElementsByClassName() .

例如,循环:

var elements = document.getElementsByClassName(map[x])
elements.forEach(element => element.click())

...或者,获取单个元素(仍然使用 getElementsByClassName):

var element = document.getElementsByClassName(map[x])[0]
element.click()

或者,您可以使用querySelector :

var element = document.querySelector(`.${map[x]}`)
element.click()

关于javascript - 如何触发 JavaScript 中元素的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58105714/

相关文章:

javascript - 如何在 styled-components v4 + TypeScript 中使用 prop 值设置属性?

Javascript:添加 onclick 属性 DOM

javascript - 如何检测jquery中文档大小的变化

php - 使用 PHP 检查页面加载时表单文件是否存在

java - 在 Java 中包含一个运行 JavaScript 的引擎背后的原因是什么?

javascript - 解密 .replace() 参数的内容

javascript - 有没有办法使用prototypejs从文本文件中读取数据?

javascript - jQM : Only some transitions work after dynamic HTML injection

javascript - 如何在 react js中保留浏览器后退按钮上应用的过滤器

javascript - 如何构建/部署 Angular 2 项目到生产环境?