如何触发对javascript

时间:2019-09-25 19:55:22

标签: 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'); ??

1 个答案:

答案 0 :(得分:2)

使用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()