Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Поиск по контенту. (https://javascript.ru/forum/events/52711-poisk-po-kontentu.html)

Tsamsiyu 02.01.2015 21:36

Поиск по контенту.
 
Здравствуйте, в jquery есть прекрасный селектор :contains, не подскажите есть ли что-то подобное на чистом js? Поискал по документациям - ничего не нашел, а единственное, что на ум приходит это обходить все элементы, что кажется совсем не оптимально. Буду рад помощи.

Safort 02.01.2015 21:46

Есть вариант проходиться циклом по вложенным элементам и использовать http://habrahabr.ru/post/216997/#es6-string
Но т.к. это только будущий стандарт, то нужно использовать трансляторы.

krutoy 02.01.2015 22:44

Цитата:

Сообщение от Tsamsiyu
что на ум приходит это обходить все элементы, что кажется совсем не оптимально. Буду рад помощи.

какие еще все? обходи только дочерние элементы, вложенные в твой (подаваемый первым аргументом). Жеквери по твоему, из воздуха что-ли это берет?

danik.js 02.01.2015 23:01

А можно use case для такой фигни?

Tsamsiyu 02.01.2015 23:47

Use case
 
Он очень простой:
1) во всем body найти совпадения [text]<<expression>>[text].
2) распарсить expression.

Т.е. в jq я сделал бы так:
var expressions = $(":containsRegEx(\<<+\w+>>+\gi)");


Т.е. находится это выражение может где угодно, именно поэтому я написал, что нужно обходить все элементы.

danik.js 03.01.2015 07:45

Нет я имею ввиду не абстрактный а конкретный случай. Зачем это может понадобиться?

Rise 03.01.2015 09:13

Цитата:

Сообщение от Tsamsiyu (Сообщение 349295)
Т.е. в jq я сделал бы так:
var expressions = $(":containsRegEx(\<<+\w+>>+\gi)");

Что это? :lol:


Часовой пояс GMT +3, время: 07:59.