Как искать элемент по тексту?
Есть <p>тестовый тескст содержащий символы ('":;$%*)</p>
Ни класса... ничего нет у элемента, как мне его вычислить? В дальнейшем хочу дописать к нему title. Желательно точным совпаднием, чтоб потом передать таким же новичкам (~0) в форме функции: function addtitle("текст к которому добавляем примечание", "тескст примечания") Спасибо |
на jquery :contains() не подойдет ?
<p>Hello World</p> <p>Goodbye World</p> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script> $("p:contains('Hello')").attr("title", "Содержит Hello"); </script> |
Правильно ли я понял?:
<p>Hello World</p> <p>Goodbye World</p> //формирует подопытную страницу и/или объекты <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> //подключает jquery библиотеку функций (или то чем является jquery) <script> $("p:contains('Hello')").attr("title", "Содержит Hello"); </script> //задействует функции jquery Не совсем понятно как это внедрить в Greasemonkey и может так оказаться что у части людей будут проблемы с доступом в интернет (только внутренняя сеть), поэтому желатьельно иметь всё в одном скрипте. Альтернатива - достать необходимые функции из jquery и вписать их внутрь user скрипта подгружаемого greasemonkey (или браузером chrome/iron) Через Greasemonkey способ №1 // @require [url]http://code.jquery.com/jquery.min.js[/url] // ==/UserScript== $("p:contains('Hello')").attr("title", "Содержит hello"); Способ №2 - локальный (не проверено) Копируем jquery.min.js на локальную машину и используем: // @resource jquery.min.js p - параграф (объект <p></p>) a - (объект<a></a>) Почему не работает?: new function at(x, y) {$("a:contains(x)").attr("title", y)}; at('Hello', 'Содержит hello'); |
а как быть с input и span объектами? И при td объекте такой скрипт добавляет title ко всем родителям искомого объекта.
|
Цитата:
для a = a:contains("+x+") для span = span:contains("+x+") function at(x, y) {$("a:contains("+x+")").attr("title", y)}; at('Hello', 'Содержит hello'); Если вам надо для input: function at(x, y) {$("input:text("+x+")").attr("title", y)}; at('Hello', 'Содержит hello'); |
VitAl2013,
GM кеширует срипты и инет нужен только на момент установки скрипта. |
А jquery он, как ресурс, тоже закэширует?
Способ №3 - положить jquery в локальную сеть и прописать пути в скрипте к нему сетевому, а потом синхронизировать файл jquery с помощью той машины у которой есть доступ в интернет. Правильно ли я понимаю, что если input имеет name, то должно работать?: function at(x, y) {$("input:name("+x+")").attr("title", y)}; |
тут посмотри (win7)
c:\Users\UserName\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxxx.default\gm_scripts\ |
Столкнулся с похожей проблемой и у меня возник вопрос - можно ли данную проблему решить на JS? Был бы благодарен за пример реализации
|
VarrkaN,
Цитата:
|
Часовой пояс GMT +3, время: 00:53. |