How can use :contains
to find the object has a certain keyword when it is clicked?
<a href="#" class="click">» Read More</a>
$('.click').click(function() {
开发者_Go百科if($(":contains('More')", this)) alert('1');
});
I get the alert whenever it contains the keyword or not... how can I make it?
You need to use is
to see if an element matches your :contains
selector:
$(".click").click(function () {
if ($(this).is(":contains('More')")) {
alert('1');
}
});
Example: http://jsfiddle.net/3N8ek/
Try this:
$(".click:contains('More')").click(function() {
alert('1');
});
You are always getting alert
because you are not checking for length
property of jQuery object. jQuery always returns at least an empty object when it do not find any match. So if($(":contains('More')", this))
will always return true
no matter what.
$('.click').click(function() {
if ($(this).is(":contains('More')")) {
alert('1');
}
});
This should work:
if($(this + ':contains("More")')) alert('1');
See :contains-docs for more on the usage.
精彩评论