Skip to content

Валидатор неверно подсвечивает миксы блока и его элемента на одной ноде #26

Open
@veged

Description

@veged

Вот такой код

<div class="b b__e"></div>

подсвечивается в районе b__e, хотя в нём нет ничего принципиально неверного, см. официальную документацию:

«Способ использования разных БЭМ-сущностей на одном DOM-узле.»
https://ru.bem.info/methodology/key-concepts/#микс

блок и его элемент это разные БЭМ-сущности — они вполне могут быть смиксованы на одном DOM-узле

проблема примерно в этом коде:

html-tree/src/js/script.js

Lines 282 to 297 in 749c3af

// Check first part of class with __ (block name)
if (hasUnderlinesDelimiter) {
let prefixCorrect = false;
const prefix = classItem.split(`__`)[0];
// Example: wrapper wrapper__container
const hasPrefixOnSameElement = elem.classList.contains(prefix);
const isClassExistsOnParents = elem.customDataSet.prefixes[prefix];
if (isClassExistsOnParents && !hasPrefixOnSameElement) {
prefixCorrect = true;
} else {
hasBemWarning = true;
}
elem.classList.validBem[classItem] = prefixCorrect;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions