Как можно использовать: selected () Селектор, чтобы определить, что объект имеет определенное ключевое слово при нажатии? - PullRequest
2 голосов
/ 31 августа 2011

Как можно использовать :contains, чтобы найти объект, имеющий определенное ключевое слово при нажатии?

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

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

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

});

Я получаю оповещение, когда оно содержит ключевое слово или нет ... как я могу это сделать?

Ответы [ 4 ]

2 голосов
/ 31 августа 2011

Вам нужно использовать is, чтобы увидеть, соответствует ли элемент вашему селектору :contains:

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

Пример: http://jsfiddle.net/3N8ek/

1 голос
/ 31 августа 2011

Вы всегда получаете alert, потому что вы не проверяете свойство length объекта jQuery. jQuery всегда возвращает хотя бы пустой объект, когда он не находит соответствия. Так что if($(":contains('More')", this)) всегда будет возвращать true, несмотря ни на что.

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

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

});
1 голос
/ 31 августа 2011

Попробуйте это:

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

   alert('1');

});
0 голосов
/ 31 августа 2011

Это должно работать:

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

См. : содержит -документы для получения дополнительной информации об использовании.

...