Атрибуты с префиксом в CSS. Совсем нельзя?
У атрибутов элементов может быть префикс
Типа <time ip:alive> Js нормально отрабатывает (пишет, читает) такие атрибуты А в CSS никак
time[ip:alive] {
....
}
Никак не отрабатывает. Аналогично querySelector('time[ip:alive]') орет матом Никак нельзя? Или какой то особый синтаксис для этого есть? |
Цитата:
|
Просто двоеточие нужно экранировать:
<head>
<style>
time[ip\:alive] {
color: green;
}
</style>
</head>
<body>
<time ip:alive>
Js нормально отрабатывает (пишет, читает) такие атрибуты
<br>А в CSS никак
</time>
<script>
console.log(document.querySelector('time[ip\\:alive]').attributes);
</script>
</body>
|
Вау! Здорово!
Мне попадалась такая конструкция тут https://oreillymedia.github.io/Using...amespaces.html Но там же все больше пишут про конструкцию вида [ip|alive], которая почему то ни фига не работает. На mdn тоже только какие то не внятные слова про | находил https://developer.mozilla.org/ru/doc...CSS/@namespace |
Цитата:
|
Цитата:
В html с <!DOCTYPE html> работает, и хорошо. |
Цитата:
|
voraa,
Цитата:
Цитата:
|
Ну хорошо, пускай это не префикс, а просто имя такое. Разрешенное!
Цитата:
Важно было, как задать это в CSS. Экранировка доставляет удовольствие. Если просто в CSS так
time[ip\:alive] {
color: green;
}
В js так
document.querySelector('time[ip\\:alive]')
А в js в строке, которую потом загонять в элемент style так
const tymestyle =`
time[ip\\\\:alive] {
color: green;
}`;
|
Там любой атрибут (не обязательно с : ), который не предназначен для данного тега вызывает ошибку.
|
| Часовой пояс GMT +3, время: 16:51. |