Подтвердить что ты не робот

Можно ли использовать регулярное выражение в querySelectorAll?

На странице, которую я делаю, у меня появятся пользовательские элементы link, например:

<link rel="multiply" type="service/math" src="path/to/service">
<link rel="substract" type="service/math" src="path/to/service">
...

Я пытаюсь использовать querySelectorAll для извлечения всех элементов ссылки с указанным типом service/... и не получаю никуда.

В настоящее время я выбираю это:

root.querySelectorAll('link');

который дает мне все элементы <link>, когда мне нужны только те, у которых тип service/.*

Вопросы:
Можно ли добавить регулярное выражение в селектор QSA? Если да, то как это сделать?

4b9b3361

Ответ 1

Вы не можете использовать регулярное выражение в селекторе, но селектор CSS достаточно мощный для вашей потребности с синтаксисом "начинается с", вдохновленным регулярными выражениями.

Вы можете использовать селектор атрибутов соответствия подстрок: link[type^=service]

Считывает "Узлы типа link с атрибутом type, начинающимся с" service "

Из формальной спецификации :

[ATT ^ = значение]

Представляет элемент с атрибутом att, значение которого начинается с префикса "val". Если "val" - это пустая строка, селектор ничего не представляет.

Рабочий JSFiddle