2

:containsオブジェクトをクリックしたときに特定のキーワードを持つオブジェクトを見つけるにはどうすればよいですか?

<a href="#" class="click">&#187; Read More</a>

$('.click').click(function() {

   if($(":contains('More')", this)) alert('1');

});

キーワードが含まれているかどうかにかかわらず、アラートを受け取ります...どうすれば作成できますか?

4

4 に答える 4

2

要素がセレクターisに一致するかどうかを確認するには、次を使用する必要があります。:contains

$(".click").click(function () {
    if ($(this).is(":contains('More')")) {
        alert('1');
    }
});

例: http://jsfiddle.net/3N8ek/

于 2011-08-31T18:49:03.697 に答える
1

これを試して:

$(".click:contains('More')").click(function() {

   alert('1');

});
于 2011-08-31T18:42:42.607 に答える
1

jQueryオブジェクトのプロパティをalertチェックしていないため、常に取得しています。lengthjQuery は、一致するものが見つからない場合、常に少なくとも空のオブジェクトを返します。ですから、何があってif($(":contains('More')", this))も必ず戻ってきます。true

$('.click').click(function() {

   if ($(this).is(":contains('More')")) {
     alert('1');
   }

});
于 2011-08-31T18:46:21.570 に答える
0

これはうまくいくはずです:

if($(this + ':contains("More")')) alert('1');

使用方法の詳細については、 :contains -docs を参照してください。

于 2011-08-31T18:45:06.927 に答える