Что касается CSS, то ваш второй селектор #a#b#c#d.e.f.g.h.i.j
действителен, и вы можете теоретически соответствовать элементу с несколькими идентификаторами в CSS. Но это будет работать только в том случае, если DOM фактически позволяет элементу иметь столько идентификаторов в первую очередь. В HTML пространства не разделяют идентификационные имена, как на имена классов; HTML-элемент может иметь только не более одного идентификатора, заданного атрибутом id
, и этот идентификатор не должен содержать пробелы (хотя браузер будет с удовольствием принимать его, если вы так или иначе кормите его такой плохой разметкой).
Вы по-прежнему можете назначать другие идентификаторы одному элементу другими способами (опять же, если DOM разрешает это), но нет абсолютно никакой практической причины, если вы не работаете с каким-то неясным языком разметки, где имеется несколько идентификаторов что нибудь.
Итак, чтобы ответить на ваш вопрос: что вы делаете неправильно, вы пытаетесь присвоить несколько идентификаторов элементу вообще. Просто присвойте один ID без пробелов в его значении и выберите его по этому идентификатору.
один элемент не может иметь несколько идентификаторов. –
* ID * делает элемент ** уникальным **, поэтому ваш дизайн из нескольких идентификаторов не имеет смысла. В любом случае элемент can not имеет более одного * ID * – vlcekmi3
И, наконец, вам не нужно указывать _all_ классы элемента для выберите его. Поэтому в вашем примере выбора, например, класса 'e', было бы достаточно: '.e {color: red;}'. Более точный селектор требуется только в том случае, если вы должны быть более точным. – arkascha