BEM Methodologyによると、タグセレクターなどのグローバルセレクターを使用してはならないため、nav__itemとnav__linkを使用します。
Active Modifierを使用した同じストーリー。グローバルエンティティはありません(ミックスを使用できますが、それは少し違うものです)。したがって、最良の方法は、nav__item-active(またはnav__item_state_active in classic bem Notation)を使用することです。
また、BEMはJS、HTML(またはテンプレート)、および実際には他のブロックのテクノロジーに対してソリューションを行っています。
主なアイデアはそれです ブロック それ自体についてすべてを知っています:それがどのように見えるか(CSS)、それがどのように機能するか(JS)、それが生成すべきHTML(テンプレート)、独自のテスト、ドキュメント、画像など。
また、NAVブロックのCSSテクノロジーが宣言的な方法でルールを適用しているため(一部のセレクターを定義し、このセレクターに一致するすべてのノードはこれらのルールでスタイリングされています)。
見てください http://xslc.org/jquery-bem/ これは、BEMの方法で簡単にブロックを使用する可能性を提供するjQueryプラグインです。
また、いくつかのビルドシステムを使用した場合に備えて、これらすべてのテクノロジーをファイルシステム上の同じフォルダーに配置できます。
blocks/
nav/
__list/
nav__list.css
nav__list.js
__item/
nav__item.css
nav.css
nav.js
nav.test.js
nav.png
nav.md
そのようなファイル構造を持つことは、Bem eartyの存在にもっと深くなり、i-bem.jsを試してみることができます。 http://bem.info/articles/bem-js-main-terms/