Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.04.2012, 10:14
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

Как искать элемент по тексту?
Есть <p>тестовый тескст содержащий символы ('":;$%*)</p>
Ни класса... ничего нет у элемента, как мне его вычислить? В дальнейшем хочу дописать к нему title.
Желательно точным совпаднием, чтоб потом передать таким же новичкам (~0) в форме функции:
function addtitle("текст к которому добавляем примечание", "тескст примечания")

Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 02.04.2012, 10:54
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

на 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>
Ответить с цитированием
  #3 (permalink)  
Старый 02.04.2012, 12:17
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

Правильно ли я понял?:
<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');

Последний раз редактировалось VitAl2013, 02.04.2012 в 14:42.
Ответить с цитированием
  #4 (permalink)  
Старый 03.04.2012, 14:52
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

а как быть с input и span объектами? И при td объекте такой скрипт добавляет title ко всем родителям искомого объекта.

Последний раз редактировалось VitAl2013, 04.04.2012 в 07:35.
Ответить с цитированием
  #5 (permalink)  
Старый 03.04.2012, 15:08
Интересующийся
Отправить личное сообщение для uberchel Посмотреть профиль Найти все сообщения от uberchel
 
Регистрация: 28.10.2010
Сообщений: 20

Сообщение от VitAl2013 Посмотреть сообщение
Правильно ли я понял?:
<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');
А почему должно ? )

для 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');

Последний раз редактировалось uberchel, 03.04.2012 в 15:18.
Ответить с цитированием
  #6 (permalink)  
Старый 03.04.2012, 17:58
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

VitAl2013,
GM кеширует срипты и инет нужен только на момент установки скрипта.
Ответить с цитированием
  #7 (permalink)  
Старый 04.04.2012, 07:30
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

А jquery он, как ресурс, тоже закэширует?

Способ №3 - положить jquery в локальную сеть и прописать пути в скрипте к нему сетевому, а потом синхронизировать файл jquery с помощью той машины у которой есть доступ в интернет.

Правильно ли я понимаю, что если input имеет name, то должно работать?:
function at(x, y) {$("input:name("+x+")").attr("title", y)};

Последний раз редактировалось VitAl2013, 04.04.2012 в 07:35.
Ответить с цитированием
  #8 (permalink)  
Старый 04.04.2012, 10:46
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

тут посмотри (win7)
c:\Users\UserName\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxxx.default\gm_scripts\
Ответить с цитированием
  #9 (permalink)  
Старый 29.12.2017, 07:32
Новичок на форуме
Отправить личное сообщение для VarrkaN Посмотреть профиль Найти все сообщения от VarrkaN
 
Регистрация: 28.12.2017
Сообщений: 5

Столкнулся с похожей проблемой и у меня возник вопрос - можно ли данную проблему решить на JS? Был бы благодарен за пример реализации
Ответить с цитированием
  #10 (permalink)  
Старый 29.12.2017, 10:15
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

VarrkaN,
Сообщение от VarrkaN
можно ли данную проблему решить на JS
Можно. Используйте querySelector, indexOf и setAttribute
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вытащить дочерний элемент? alexandr_v-vich Элементы интерфейса 7 29.02.2012 14:35
Как получит ссылку на элемент внутри которого запустили JS код? aRpi Events/DOM/Window 20 02.10.2011 13:36
как присвоить id тексту Arucard Общие вопросы Javascript 7 06.03.2011 15:40
Как удалить элемент массива? velo Общие вопросы Javascript 2 05.02.2010 15:58
Как проверить анимируется в данный момент элемент или нет sysya jQuery 2 15.01.2010 00:32