2016-01-07 3 views
0

У меня есть страница, где мне нужно выделить некоторые аннотации.Выделение текста на веб-странице

Аннотация Возвращается службой: "Golf", "Сверчок", "Хоккей"

Содержание: Peter likes to play Golf, Cricket and < b >Ice < /b > Hockey

Так что я использовал этот сценарий из этого jsfiddle

$('p').highlight(['Golf','Cricket','Ice Hockey']); 

это работает до тех пор, пока между ними не будет встречен другой тег sub(). Гольф и Крикет получат выделение, но Хоккей на льду не будет выделен. Есть ли способ, который я могу сделать, чтобы Хоккей на льду также выделялся, игнорируя теги html?

+1

Он работает здесь: http://jsfiddle.net/Q8WS5/555/ – Rayon

+0

вы можете показать нам демо? где его не работает с «хоккеем с шайбой»? –

+0

OP относится к «льду», заключенному в тег B (жирный шрифт) ice hockey – Patrick

ответ

0

http://jsfiddle.net/Q8WS5/560/

Вопрос заключается в том, что JQuery не звонит в библиотеку три раза один раз для <p> до <strong> раз, для слова выделены жирным шрифтом, и еще раз в конце.

Чтобы библиотека должна была идти, вам придется переписать другую. вам понадобится использовать .text(), который возвращает текст без html.

$('span').text().indexOf("Ice Hockey")); 
+0

Благодарим вас за быстрый ответ. Поэтому я использовал скрипку, которую вы поделили. Содержание:

Давайте тест выделить функции

| Выделите термины: $ ('p'). Highlight (['highlight function]]; | Текст «Функция подсветки» не выделялся, как требуется. Любая помощь будет оценена. – abhisheksircar

+0

Я не занимался полной функциональной скрипкой. Просто добавили пару console.log, чтобы показать вам, почему это не сработает. Ознакомьтесь с моим комментарием по вашему вопросу, используя ссылку SO для получения дополнительных ответов. – ZARk

+0

jsfiddle.net/UPs3V работал хорошо, хотя похоже, что он выделяет только первый экземпляр. Глядя на код и пытаемся повторить. Иначе это работает так, как я хотел. – abhisheksircar

0

Попробуйте альтернативный способ ..

HTML

<p>Peter likes to play Golf, Cricket and <b>Ice </b> Hockey <p> 

Javascript

$('p').highlight(['Golf','Cricket','Ice','Hockey']); 

Допустимо ли это ..

DEMO

+0

Фактически нет. Мы получим условия как «Хоккей на льду» вместе, иначе сценарий начнет выделять все события Ice и Hockey. – abhisheksircar

Смежные вопросы