Добрый день господа, для меня задача крайне не тривиальная, суть её в том, что я пишу user script на jQeury и навык работы с этим языком очень низкий; скрипт который ищет все элементы в dom, текст которых соответствует regexpr. И как бы я не старался силами гугла найти решение перебора всех элементов по дереву, ни один из предложенных не работает корректно.
Чуть работает, но на костылях вариант с each() {} но потом мне браузер начал выдавать ошибку each функции не существует, когда user script я переношу в расширение для google chrome
('*').each(function() {
if($(this).text().match(/^([0-9a-f]{3}[\.-:]){2}/i)) {
alert($(this));
fullPathElem = $(this).getFullPathElement(); // получаю путь к элементу в виде строки, вида : html :eq(1) body : eq(0) DIV : eq(2) эта функция отдельная история,
}
});
alert(window.fullPathElem); // в итоге передает только путь первого элемента; fullPathElem.push() в функции пробовал, сделать массив строк тоже не получилось с ошибкой
1. И вообще на сколько я понял, это мувитон использовать $("*") в jq, как можно по другому, если минимум на странице есть 2-3 элемента соответствующие регулярке.
2. Второй вопрос, если у меня все же получится сделать с помощью each, как передать массив строк из функции в майн код.
3. Может мне подход к этой задаче сменить; Необходимо получить пути в виде строки всех элементов, текст которых соответсвует паттерну.