使用jQuery .filter()选择div中的特定文本

HTML:

hello, my name is kevin. what's yours?

jQuery的:

 $("p.greeting").filter(function (){ return $this.text() === "my name is"; }).css("background", "green"); 

我试图在

标签中隔离“我的名字是”这几个字。 任何人都可以帮助我使用jQuery,因为它似乎不起作用。 谢谢。

干得好:

CSS:

 .highlight { background-color: yellow; } 

JavaScript的:

 var text = 'My namE iS'; $( 'p.greeting' ).html( function ( i, html ) { var regexp, replacement; regexp = RegExp( '(' + text + ')', 'gi' ); replacement = '$1'; return html.replace( regexp, replacement ); }); 

现场演示: http //jsfiddle.net/SGCDS/5/

你的函数返回总是false。 只有当你的div中有“我的名字”时,它才会返回true。

尝试这样的事情:

 return $(this).text().indexOf("my name is") != -1;