Mir wurde gesagt, dass ich falsch lag, weil ich den Code wie unten beschrieben geschrieben habe. Ich nehme an, dass Elemente keine Blöcke enthalten können und ihre schlechten B.e.
%Vor%Ich dachte darüber nach, es so zu schreiben, aber es zeigt auch nicht die Hierarchie.
%Vor%Hier ist ein anderer Weg, aber für mich scheint es schlimmer als das obige Beispiel.
%Vor%Ist die Art, wie ich es ursprünglich falsch programmiert habe? Wenn ja, warum und was ist die beste Alternative?
Sie sollten zweite oder dritte Proben verwenden.
Oder Sie könnten diesen verwenden (er verwendet BEM-Mischungen; wir haben eine Diskussion ) dies auf Russisch). Es ist hilfreich, dann müssen Sie auf link
elem von b-nav
von JavaScript-Code zugreifen.
Ich denke, das Benennen von nav_ -Links wird mehr akzeptiert als nav _item__link, selbst wenn ein Link zu einem Element gehört. Vielleicht war das, was ich tat, ein Overkill, um diese Hierarchie zu zeigen. Am Ende gehören beide zum selben Block.
Ich habe einige Beispiele in den Kommentaren der einzelnen Links unter
gesehen"Die Verwendung von Elementen in Elementen wird von der BEM-Methode nicht empfohlen." - das ist es, nicht mehr und nicht weniger.
Was die grundlegende Namensgebung betrifft, Smashing Mag hat eine tolle Baumfigur, die zeigt, wie das gemacht werden sollte:
%Vor%Was im folgenden JSON-Format schön transformierbar ist:
%Vor%Ich persönlich würde empfehlen, Ihre zweite Version zu verwenden - in der dritten wird die Beziehung / Abhängigkeit zwischen der ul und einem Tags nicht in der Klassenbenennung dargestellt. Nun, wahrscheinlich hast du das schon in den letzten 2 Jahren gelöst, aber vielleicht wird jemand, der ähnlich in der richtigen BEM-Syntax verloren ist, diese Antwort nützlich finden ...