Я создал простую тестовую страницу, чтобы проиллюстрировать проблему, с которой я столкнулся. Вкратце, это работает так, как ожидалось (текст выделен жирным шрифтом, подчеркнут красным):
<!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.
Таким образом, кажется, что вы не можете сравнивать числовые атрибуты.
Кто-нибудь знает, почему эта ... очень ... полезная ... функция ... существует?