Как объединить класс и идентификатор в селекторе CSS?

5 лет спустя, но это было мое решение:

Я преобразовал jsonParser в строку

String requestString = jsonParser.readValueAsTree().toString();

Затем я преобразовал эту строку в JsonParser

JsonFactory factory = new JsonFactory();
JsonParser parser  = factory.createParser(requestString);

Затем я перебрал свой синтаксический анализатор

ObjectMapper objectMapper = new ObjectMapper();
while(!parser.isClosed()){
    JsonToken jsonToken = parser.nextToken();
    if(JsonToken.FIELD_NAME.equals(jsonToken)){
        String currentName = parser.getCurrentName();
        parser.nextToken();
        switch (currentName) {
            case "someObject":
                Object someObject = objectMapper.readValue(parser, Object.class)
                //validate someObject
                break;
        }
 }

Мне нужно было сохранить исходную строку json для целей регистрации, поэтому я сделал это в первую очередь. Была головная боль, чтобы узнать, но наконец сделал это, и я надеюсь, что помогу кому-то :))

205
задан Alex Weitz 9 July 2016 в 14:16
поделиться

6 ответов

В вашей таблице стилей:

div#content.myClass

Изменить: Это тоже может помочь:

div#content.myClass.aSecondClass.aThirdClass /* Won't work in IE6, but valid */
div.firstClass.secondClass /* ditto */

и, в вашем примере:

div#content.sectionA

Изменить, 4 года спустя: Так как это супер old, и люди продолжают находить его: не используйте tagNames в своих селекторах. # content.myClass быстрее, чем div # content.myClass , поскольку tagName добавляет шаг фильтрации, который вам не нужен. Используйте tagNames в селекторах только там, где это необходимо!

308
ответ дан 23 November 2019 в 04:52
поделиться

В общем, вам не нужно классифицировать элемент, указанный по id, потому что id всегда уникален, но если вам это действительно нужно, должно работать следующее:

div#content.sectionA {
    /* ... */
}
4
ответ дан 23 November 2019 в 04:52
поделиться
.sectionA[id='content'] { color : red; }

Не будет работать, если тип документа - html 4.01, хотя ...

-1
ответ дан 23 November 2019 в 04:52
поделиться

Вы можете комбинировать идентификатор и класс в CSS, но идентификаторы должны быть уникальными, поэтому добавление класса в селектор CSS приведет к его чрезмерной квалификации.

2
ответ дан 23 November 2019 в 04:52
поделиться

Идентификаторы должны быть уникальными для всего документа, поэтому вам не нужно выбирать на основе обоих. Вы можете назначить элементу несколько классов с помощью class = "class1 class2"

0
ответ дан 23 November 2019 в 04:52
поделиться

Нет ничего плохого в объединении идентификатора и класса в одном элементе, но вам не нужно идентифицировать его обоими для одного правила. Если вы действительно хотите, вы можете:

#content.sectionA{some rules}

Вам не нужен div перед идентификатором, как предлагали другие.

В общем, следует установить правила CSS, специфичные для этого элемента. с идентификатором, и они будут нести больший вес, чем просто класс. Правила, указанные классом, будут свойствами, которые применяются к нескольким элементам, которые вы не хотите изменять в нескольких местах в любое время, когда вам нужно настроить.

Это сводится к следующему:

 .sectionA{some general rules here}
 #content{specific rules, and overrides for things in .sectionA}

Имеет смысл?

4
ответ дан 23 November 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: