<div id="example-value">
ou <div id="example_value">
?
Este site e o Twitter usam o primeiro estilo. Facebook e Vimeo - o segundo.
Qual você usa e por quê?
html
coding-style
naming-conventions
Emanuil Rusev
fonte
fonte
Respostas:
Use hífens para garantir o isolamento entre seu HTML e JavaScript.
Por quê? ver abaixo.
Os hifens são válidos para uso em CSS e HTML, mas não para objetos JavaScript.
Muitos navegadores registram IDs de HTML como objetos globais no objeto janela / documento, em grandes projetos, isso pode se tornar uma verdadeira dor.
Por esse motivo, uso nomes com hífens, dessa forma, os IDs de HTML nunca entrarão em conflito com meu JavaScript.
Considere o seguinte:
message.js
html
Se o navegador registrar ids HTML como objetos globais, o código acima falhará porque a mensagem não é 'indefinida' e tentará criar uma instância do objeto HTML. Certificar-se de que um código HTML tem um hífen no nome evita conflitos como o mostrado abaixo:
message.js
html
Claro, você pode usar messageText ou message_text, mas isso não resolve o problema e você pode se deparar com o mesmo problema mais tarde, onde acidentalmente acessa um objeto HTML em vez de um JavaScript
Uma observação, você ainda pode acessar os objetos HTML através do objeto window (por exemplo) usando window ['mensagem-texto'];
fonte
window['message-text'];
Eu recomendaria o Guia de estilo HTML / CSS do Google
Ele afirma especificamente :
Separe as palavras no ID e nos nomes das classes com um hífen . Não concatene palavras e abreviações em seletores por quaisquer caracteres (incluindo nenhum), exceto hífens, para melhorar a compreensão e a digitalização.
fonte
BEM
notação?Na verdade, é uma questão de preferência, mas o que o influenciará em uma direção específica pode ser o editor com o qual você codifica. Por exemplo, o recurso de autocompletar do TextMate para em um hífen, mas vê as palavras separadas por um sublinhado como uma única palavra. Portanto, os nomes e ids das classes
the_post
funcionam melhor do quethe-post
ao usar o recurso de preenchimento automático (Esc
).fonte
Eu acredito que isso depende inteiramente do programador. Você também pode usar o camelCase se quiser (mas acho que ficaria estranho.)
Eu pessoalmente prefiro o hífen, porque é mais rápido digitar no meu teclado. Portanto, eu diria que você deve escolher o que lhe convém, uma vez que ambos os exemplos são amplamente usados.
fonte
Qualquer um dos exemplos é perfeitamente válido, você pode até adicionar ":" ou "." como separadores de acordo com as especificações w3c . Eu pessoalmente uso "_" se for um nome de duas palavras apenas por causa de sua semelhança com o espaço.
fonte
ZZ:ZZ
deve ter como escapeZZ\00003AZZ
(CSS2 e superior).Eu uso o primeiro (um-dois) porque é mais legível. Para imagens, porém, prefiro o sublinhado (btn_more.png). O estojo Camel (oneTwo) é outra opção.
fonte
Na verdade, alguns frameworks externos (javascript, php) têm dificuldades (bugs?) Em usar o hypen em nomes de id. Eu uso o sublinhado (assim como o 960grid) e tudo funciona muito bem.
fonte
Gostaria de sugerir sublinhado principalmente pelo motivo de um efeito colateral de javascript que estou encontrando.
Se você digitar o código abaixo em sua barra de localização, receberá um erro: 'valor-exemplo' é indefinido. Se o div fosse nomeado com sublinhados, funcionaria.
fonte
document.getElementById("example-value")
, o que funcionará bem.