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

你总是得到,alert因为你没有检查lengthjQuery 对象的属性。当 jQuery 找不到任何匹配项时,它总是至少返回一个空对象。所以无论如何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 回答