Как искать элемент по тексту?
Есть <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, время: 18:16. |