2017-05-15 22 views
0

HTMLページでテキストを検索し、そのテキストの要素(テスト)を検索し、その上でクリックイベントを実行しようとしています。私は特定することはできませんので、だから、かなりこの(データID =「337」の変化がある。Jqueryでテキストを検索して要素を検索します。

<table> 
    <tr data-id="337" style="cursor: move" class="ui-sortable-handle"> 
    <td> 
     <a href="/locations/1371/Test_Life/337" data-update="#TestLife">Test</a> 
    </td> 
    </tr 
</table> 

これはテーブル

内にある私は、これは働くだろうと思ったが、それは

を実行していません
$("tr td:contains('test')").each(function() { 
    $(this).trigger('click'); 
}) 

答えて

1

:containsは大文字と小文字が区別され、指摘しています。しかし、あなたはそれになりたくない場合は、あなたがして、デフォルトを変更することができますクリックイベントがバインドされる前に、それが実行されないように、バインドされたクリックイベント後にeach()機能があることを確認し、また

jQuery.expr[':'].contains = function(a, i, m) { 
    return jQuery(a).text().toUpperCase() 
     .indexOf(m[3].toUpperCase()) >= 0; 
}; 

要素に。

JS Fiddle

+0

が応答のためにどうもありがとうございます助けた場合は、この答えを受け入れることができる説明 – Metawaa

1

:含まれている大文字と小文字が区別され 試してみてください。あなたのケースのTDで

$("tr td:contains('Test')").each(function() { 
    $(this).trigger('click'); 
}) 
2

がコンタていませんtestではTestであるので、検索文字列は大文字と小文字を区別して記述してください。その他など

$(function(){ 
 
    $("tr td:contains('Test')").each(function(){ 
 
$(this).trigger('click'); 
 
    console.log($(this)); 
 
}) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
<tr data-id="337" style="cursor: move" class="ui-sortable-handle"> 
 
      <td> 
 
      <a href="/locations/1371/Test_Life/337" data-update="#TestLife">Test</a> 
 
      </td> 
 
      <td> 
 
      <a href="/locations/1373/Test_Life/337" data-update="#TestLife">test</a> 
 
      </td> 
 
    </tr 
 
     </table>

+0

それは – Metawaa

+0

いただき、ありがとうございます –

1
$("tr td a:contains('Test')").each(function() { 
    $(this).trigger('click'); 
}) 
関連する問題