3

要素内にある文内の名前のリストを含むhtmlテーブルがあり<td>ます(つまり<td>Mike (Jeremy's father) used to play piano</td>、または<td>The only one who speaks french is Desmond, but Mike speaks very well spanish</td>)。テーブル全体で特定の名前が何回出現するかを数えたいと思います。これはphp経由ではなく、javascript/jquery経由で行う必要があります。どんな助けでも感謝します!

4

1 に答える 1

6

あなたが使用することができます

var nbMikeInTheTable = (' '+$('table').text()+' ').split('Mike').length-1;

(追加された ' ' は、IE での分割のバグのある実装との互換性のためのものです)

または、それが単語全体であり、HTML によって切り取られていないことを確認したい場合

 var nbMikeInTheTable = $('table').html().split(/\W+/).filter(
     function(v){return v=="Mike"}
 ).length;

単語の終わりとセルの終わりを防ぎ、それが a の属性の一部ではないことを確認しtdたい場合は、もう少し複雑です:

var nbTimesMikeIsInTheTable = $('table td').map(function(){
    return $(this).text().split(/\W+/).filter(function(v){return v=="Mike"}).length
}).toArray().reduce(function(p,v){return p+v});

これはエレガントではありませんが、おそらく必要ありません;)

デモンストレーション (コンソールを開く)

于 2012-11-15T20:50:09.350 に答える