В то время как в HTML 5 допустимо начинать идентификатор с цифры, CSS не допускает начальные цифры.
В CSS идентификаторы (включая имена элементов, классы и идентификаторы в
селекторы) могут содержать только символы [a-zA-Z0-9] и ISO 10646
символы U + 00A0 и выше, плюс дефис (-) и подчеркивание
(_); они не могут начинаться с цифры, двух дефисов или дефиса
цифрой. Идентификаторы также могут содержать экранированные символы и любые
Символ ISO 10646 в виде числового кода (см. Следующий пункт). Например,
идентификатор «B & W?» может быть записан как «B \ & W \?» или «B \ 26 W \ 3F».
Внутренне, Bootstrap 4 использует
getSelectorFromElement(element) {
let selector = element.getAttribute('data-target')
if (!selector || selector === '#') {
const hrefAttr = element.getAttribute('href')
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''
}
try {
return document.querySelector(selector) ? selector : null
} catch (err) {
return null
}
}
Чтобы найти ваш элемент. querySelector
требуется действительный селектор CSS
DOMString, содержащая один или несколько селекторов для сопоставления. Эта строка
должна быть допустимой строкой селектора CSS; если это не так, SYNTAX_ERR
исключение.
Я бы рекомендовал использовать только действительный идентификатор CSS. Есть также трюки, которые вы можете сделать, чтобы убежать, но если вам не нужно, просто используйте другой селектор