تقول منهجية BEM أنه يجب ألا تستخدم أي محددات عالمية مثل محددات العلامات ، لذا استخدم NAV__ITEM و NAV__LINK.
نفس القصة مع المعدل النشط. لا يجب أن يكون لديك أي كيانات عالمية (يمكنك استخدام الخلطات ولكن هذا شيء مختلف بعض الشيء). لذا فإن أفضل طريقة هي الذهاب مع Nav__Item-Active (أو nav__item_state_active في تدوين BEM الكلاسيكي).
و BEM لديه sollution ل JS ، HTML (أو القوالب) وفي الواقع أي تقنية كتلة أخرى.
الفكرة الرئيسية هي ذلك الكتلة يعرف كل شيء عن نفسه: كيف يبدو (CSS) ، وكيف يعمل (JS) ، ما هي HTML التي يجب أن تنتجها (القوالب) ، اختباراتها ، وثائق ، صور ، إلخ.
وبينما تطبق تقنية CSS في كتلة NAV القواعد بطريقة إعلانية (يمكنك تحديد بعض المحددات وجميع العقد التي تتطابق مع هذا المحدد مع هذه القواعد) بنفس الطريقة التي يمكنك بها وصف JS من كتلة NAV.
الرجاء إلقاء نظرة على http://xslc.org/jquery-bem/ وهو المكون الإضافي jQuery الذي يمنحك إمكانية العمل مع كتل في طريق BEM بسهولة.
وفي حال كنت تستخدم بعض نظام الإنشاء ، يمكنك وضع كل هذه التقنيات في نفس المجلد على نظام الملفات:
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 الفعلية ومحاولة i-bem.js: http://bem.info/articles/bem-js-main-terms/