Есть ли способ определить, с помощью Javascript или CSS, какие слова находятся на какой строке в браузере клиента? - PullRequest
3 голосов
/ 11 июня 2011

Скажите, у меня есть этот HTML:

<div>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>

Я хочу определить, в какой строке в браузере клиента включена фраза sed do eiusmod tempor, и оттуда определить, где начинается и заканчивается эта строка. Есть ли способ сделать это с помощью JavaScript.

То, что я пытаюсь сделать с этой линией, - это поставить границу вдоль дна и по бокам (таким образом, граница с каждой стороны этого текста, параллельная сторонам области, в которой находится <div>) в.).

Я знаю, что если есть решение, это будет нелегко, но я готов, даже если это относительно сложно. Кроме того, я использую jQuery, если у него есть метод для этого.

Кроме того, если есть способ с CSS, я был бы еще счастливее.

Здесь примерно идет речь, выделенная часть - это текст, который я ищу, и красная линия должна представлять то, на чем установлена ​​граница. enter image description here

Ответы [ 2 ]

3 голосов
/ 11 июня 2011

Если вы оберните нужные слова в промежуток, тогда вы можете применить стили с помощью CSS.

Вот решение только для CSS , использующее псевдоэлементы ::before и ::after. Хах!

Не работает для текста, занимающего более двух строк ...

EDIT:

Этот делает, хотя! Хотя предыдущий в большинстве случаев будет вести себя лучше.

0 голосов
/ 11 июня 2011

Невозможно определить местоположение отдельных слов в элементе.

Однако вы можете поместить sed do eiusmod tempor в элемент <span> с уникальным id, затем вы можете получить элемент и запросить его позицию.

...