我知道这听起来很傻,但我需要创建一个函数,找到一个附加了onClick的按钮。然后点击它。
所以喜欢:
<div onclick="coolFunction()" class="coolClass">
<p>Click Me!</p>
</div>
我尝试通过这样做来搜索它:
$('.coolClass').attr('onClick') == 'coolFunction()'
实际上找到了它,问题是我不明白如何点击它,因为它在if方法中。
答案 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')
}