Используйте jQuery.filter(), чтобы выбрать определенный текст в div
HTML:
<p class="greeting">
hello, my name is kevin. what yours?
</p>
JQuery
$("p.greeting").filter(function (){
return $this.text() === "my name is";
}).css("background", "green");
Я пытаюсь изолировать слова "мое имя" в теге <p class="greeting">
. Может ли кто-нибудь помочь мне с jQuery, поскольку он, похоже, не работает. Спасибо.
Ответы
Ответ 1
Здесь вы идете:
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 = '<span class="highlight">$1</span>';
return html.replace( regexp, replacement );
});
Live demo: http://jsfiddle.net/SGCDS/5/
Ответ 2
Вы всегда возвращаете функцию false. Только если в вашем div точно указано "мое имя", оно вернет true.
Попробуйте что-то вроде этого:
return $(this).text().indexOf("my name is") != -1;