1

可能重复:
基于文本的 jQuery 选择

我正在学习drupal。我想向网站添加一些 jquery。我知道我可以并且以后可能会返回并添加 id 和类,以便我可以更轻松地访问内容,但我想知道如何正确使用“has”或“contents”和/或“filter”。

在我的页面上,我有很多段落,我想<p>根据它们的内容选择 's 然后对它们做一些事情,例如我想要:

jQuery('p').has('What is Supplemental').css('background-color', 'red')

我该怎么做?

此处的站点示例:http: //surety.lfwebz.com

感谢您的见解。

4

4 回答 4

1
$('p').filter(function(){
    return $(this).text().indexOf("What is Supplemental") > -1;
}).css('background-color', 'red');
于 2013-02-02T20:00:52.200 回答
1

你可以尝试这样的事情:

$('p').filter(function () {
    return $(this).text() == 'What is Suppemental';
}).css('background-color', 'red');

可能会导致问题,因为:contains它不检查完全匹配,例如,p:contains("What is Supplemental")...也会匹配“什么是补充[填写空白]”或“[填写空白]什么是补充”。

编辑:

using 也可能是这样indexOf,尽管它仅适用于附加到匹配项的文本。

于 2013-02-02T20:01:03.220 回答
1

: 包含怎么样?

$('p:contains("What is Supplemental")').css('background-color','red');
于 2013-02-02T19:58:14.917 回答
0

Or each:

jQuery('p').each(function(i){
 str = jQuery(this).html();
 if(str.indexOf('What is Supplemental') !== -1){
   jQuery(this).css('background-color', 'red');
 }
});
于 2013-02-02T20:09:26.407 回答