:contains
オブジェクトをクリックしたときに特定のキーワードを持つオブジェクトを見つけるにはどうすればよいですか?
<a href="#" class="click">» Read More</a>
$('.click').click(function() {
if($(":contains('More')", this)) alert('1');
});
キーワードが含まれているかどうかにかかわらず、アラートを受け取ります...どうすれば作成できますか?
要素がセレクターis
に一致するかどうかを確認するには、次を使用する必要があります。:contains
$(".click").click(function () {
if ($(this).is(":contains('More')")) {
alert('1');
}
});
これを試して:
$(".click:contains('More')").click(function() {
alert('1');
});
jQueryオブジェクトのプロパティをalert
チェックしていないため、常に取得しています。length
jQuery は、一致するものが見つからない場合、常に少なくとも空のオブジェクトを返します。ですから、何があってif($(":contains('More')", this))
も必ず戻ってきます。true
$('.click').click(function() {
if ($(this).is(":contains('More')")) {
alert('1');
}
});
これはうまくいくはずです:
if($(this + ':contains("More")')) alert('1');
使用方法の詳細については、 :contains -docs を参照してください。