单击已打开onClick的按钮

时间:2017-04-03 19:45:44

标签: javascript jquery html

我知道这听起来很傻,但我需要创建一个函数,找到一个附加了onClick的按钮。然后点击它。

所以喜欢:

<div onclick="coolFunction()" class="coolClass">
   <p>Click Me!</p>
</div>

我尝试通过这样做来搜索它:

$('.coolClass').attr('onClick') == 'coolFunction()'

实际上找到了它,问题是我不明白如何点击它,因为它在if方法中。

4 个答案:

答案 0 :(得分:2)

您的选择器更像$('[onclick="coolFunction()"]')

所以要做你所描述的,你可以做到这一点

 $('[onclick="coolFunction()"]').trigger('click');

虽然,除非coolFunction()关心这个DOM元素的显式,否则你可以只调用coolFunction(),而不要让它捎带在你的点击处理程序上。

更新:带参数

 // Note selector is less specific, but still targeted
 $('[onclick^="coolFunction"]').trigger('click');

使用此功能,您可以触发点击处理程序,HTML中的coolFunction(var)将按预期工作。

答案 1 :(得分:0)

if ( $('.coolClass').attr('onClick') == 'coolFunction()' )
{
    $('.coolClass').click();
}

答案 2 :(得分:0)

$('.coolClass').each(function() {
    $this = $(this);
    if ($this.attr('onClick') == 'coolFunction()') {
        $this.trigger('click')
    }

});

这将使用.coolClass选择所有元素,检查onClick属性是否与coolFunction调用匹配,并触发该元素上的click事件。

答案 3 :(得分:0)

正如 couzzi 所说,您可以先验证类 coolClass 中的所有元素是否具有attribut coolFunction 以及何时<?>在这种情况下,您可以将您想要做的事情应用于它们。

$('.coolClass').each(function() {
$this = $(this);
if ($this.attr('onClick') == 'coolFunction()') {
    $this.trigger('click')
}