Как искать текст в jquery? - PullRequest
       41

Как искать текст в jquery?

0 голосов
/ 16 августа 2011

У меня есть вопрос, что если я хочу искать текстовый файл на любой странице, используя jquery. что я не хочу, так это

<p id="1">iii</p>
<p id="2">i</p>
<p id="3">ibiib</p>
<p id="4">bb</p>
<p id="5">tina</p>

 <script type="text/javascript">
    console.log($("div:contains('i')"));
 </script>

этот код дает мне все параграфы, кроме id = 4; но я хочу, чтобы был выбран только параграф с id = 2. если есть способ сделать это в javascript или любой другой библиотеке, ответьте мне ...

Ответы [ 6 ]

4 голосов
/ 16 августа 2011

Использовать $. Filter .

Это вернет div s, который содержит только один i.

$('div').filter(function () {
    return $(this).html() == 'i';
});
3 голосов
/ 16 августа 2011
$('p').filter(function() {
    return $(this).text() === 'i';
});
1 голос
/ 16 августа 2011

Вы можете расширить механизм выбора jQuery, чтобы добавить новый:

$.expr[':'].texteq = function( elem, i, match, array ) {
    return $(elem).text() === match[3];
};

console.log($('p:texteq(i)'));

Пример

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

Я бы использовал для этого простой плагин:

$.fn.exactMatch = function(str) {
    return this.filter(function() {
        return $(this).text() === str;
    });
};

$("p").exactMatch("i").css("border", "1px solid red");

Вы можете попробовать его здесь.

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

Вы можете пройтись по абзацам и проверить, совпадает ли их содержание с желаемым.Я использовал цикл jQuery, вы можете использовать javascript, если хотите. JSFIDDLE

$('p').each(function() {
    if(this.innerHTML == 'i') doWhateverYouWant();
});
1 голос
/ 16 августа 2011
$("p").each(function(a,b){
   if ($(this).html() == 'i'){
      console.log(a);
   }
});

или

$("p").filter(function(){
   return $(this).html() == 'i';
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...