Пожалуйста, рассмотрим следующий код:: содержит() не возвращает ожидаемые узлы
// @include /(^https?:\/\/www\.|^https?:\/\/)google\.com(\.|\/).*/
// @include /(^https?:\/\/www\.|^https?:\/\/)stackoverflow\.com\/.*/
// @include /(^https?:\/\/www\.|^https?:\/\/)userscripts-mirror\.org\/.*/
// @include http://wiki.greasespot.net/*
// @version 1.0
// @require https://code.jquery.com/jquery-2.1.1.min.js
// @grant GM_addStyle
$ ('body:contains("serscripts.org")').each (function() {
var results = $(this);
var text = results.text();
console.log(text);
text = text.replace(/serscripts\.org/ig, "serscripts-mirror.org");
text = text.replace(/(:8080|%3A8080)/ig, "");
//results.text (text);
});
Я ожидал, что возвращение должно быть только элементы, содержащие эту строку, но результат на консоли весь текст тела.
Рассмотрим this page в строке:
// @updateURL https://userscripts.org/scripts/so...
Я хочу, чтобы изменить это.
Или this one:
// @require http://userscripts.org/scripts/source...
Я хотел бы изменить тоже.
Все слова между тегами следует проверять на строку и возвращать только те, которые у нее есть.
Что такое правильный селектор для этого?
Примечание:
атрибуты ссылок и текста между <a></a>
уже изменены с помощью аналогичного .each (function)
.
Вы выбрали ** '
' элементы **, содержащие 'serscripts.org' где-то внутри них. У тебя это есть. – RyanВозможно, вы захотите добавить пробел до этой точки с запятой – SeinopSys
взять 'body' из селектора – charlietfl