Тож відповідь Нарніяна працює досить добре. Однак, використовуючи його в дикій природі, я зіткнувся з деякими проблемами, де речі, які я очікував би знайти, не знаходились. Це було тому, що іноді навколо тексту елемента є випадковий пробіл. Я вважаю, що якщо ви шукаєте "Hello World", ви все одно хочете, щоб воно відповідало "Hello World", або навіть "Hello World \ n". Таким чином, я щойно додав метод "trim ()" до функції, яка видаляє навколишні пробіли, і вона почала працювати краще. Крім того, я змінив імена змінних, щоб бути трохи зрозумілішими для мене.
Зокрема ...
$.expr[':'].textEquals = function(el, i, m) {
var searchText = m[3];
var match = $(el).text().trim().match("^" + searchText + "$")
return match && match.length > 0;
}
І додаткова примітка ... обрізання лише видаляє пробіли до і після тексту пошуку. Це не видаляє пробіли в середині слів. Я вважаю, що це бажана поведінка, але ви можете змінити це, якщо хочете.