2017-04-03 5 views
1

これは愚かなことですが、onClickが付いたボタンを見つける関数を作成する必要があります。そしてそれをクリックします。だから、のようなonClickが既にあるボタンをクリックする

は:実際にそれを見つけた

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

、問題は私がクリックすることができますどのように理解していないです。

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

私はこのような何かを行うことによって、それを探してみましたそれはifメソッドのためです。

答えて

2

あなたのセレクタは$('[onclick="coolFunction()"]')のようなものです。このDOM要素によって明示的であることについてcoolFunction()心配しない限り、あなたはそれを上のピギーバックをせずに、coolFunction()を呼び出すことができ、が

だからあなたが記述何をするために、あなたはこの

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

を行うことができますクリックハンドラ。

更新:引数これと

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

を使用すると、クリックハンドラをトリガすることができ、そして期待どおりにHTMLでcoolFunction(var)が働くだろう。

+0

伝説!私は上記の関数の中で変数を使うことができると思いますか?たとえば、coolFunction(var)? –

+0

更新された回答をご覧ください。 – couzzi

+0

素晴らしいです、ありがとう! –

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

}); 

これは、.coolClassを持つすべての要素を選択onClick属性がcoolFunctionコールと一致するかどうかをチェックし、その要素のclickイベントをトリガします。

0

としてcouzziは、クラスcoolClassのすべての要素がattribut coolFunctionを持っており、それはケースだときにちょうどあなたが彼らに何をしたいのか適用することができれば、あなたが最初に確認することができる、と述べました。

$('.coolClass').each(function() { 
$this = $(this); 
if ($this.attr('onClick') == 'coolFunction()') { 
    $this.trigger('click') 
} 
関連する問題