Я настроил простую тестовую страницу, чтобы проиллюстрировать возникшую проблему.
Вкратце, это работает как ожидалось (текст отформатирован жирным шрифтом, подчеркнут красным):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style>
[abc=x1] {
color: red;
text-decoration: underline;
font-weight: bold;
}
</style>
</head>
<body>
<div abc=x1>hello</div>
</body>
</html>
И это не так (текст остается черным, форматирование не применяется):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style>
[abc=1] {
color: red;
text-decoration: underline;
font-weight: bold;
}
</style>
</head>
<body>
<div abc=1>hello</div>
</body>
</html>
Единственное, что я изменил между двумя примерами, это значение атрибута (как в CSS, так и в HTML) с x1 до 1.
Похоже, вы не можете сопоставить числовые атрибуты.
Кто-нибудь знает, почему эта ... очень ... полезная ... функция ... существует?