与jQuery选择器一起使用的CSS类命名的最佳实践
||
在构建大量使用Java的Web应用程序时,为CSS类命名以保持Javascript代码和CSS样式表整洁且UI结构灵活的最佳实践是什么?
选项1:唯一命名每个元素。
例如,
// HTML
<div id=\"list\">
<button class=\"list-delete\" />
<div class=\"list-items\">
<div class=\"item\">
<button class=\"item-delete\" />
<h1 class=\"item-name\">Item 1</h1>
</div>
</div>
</div>
// CSS
.list-delete {
color: black;
}
.item-delete {
color: blue;
}
// Javascript
$(\".list-delete\").show();
$(\".item-delete\").hide();
优点:
选择样式或JS操作的项目很容易
缺点:
元素名称开始变得很长,很难追踪
更改HTML结构需要重命名
选项2:以语义命名每个元素,然后分层选择元素。
例如,
// HTML
<div id=\"list\">
<button class=\"delete\" />
<div class=\"items\">
<div class=\"item\">
<button class=\"delete\" />
<h1 class=\"name\">Item 1</h1>
</div>
</div>
</div>
// CSS
#list > .delete {
color: black;
}
#list > .items > .item > .delete {
color: blue;
}
// Javascript
$(\"#list > .delete\").show();
$(\"#list > .items > .item > .delete\").hide();
优点:
命名感觉更自然,名称简短明了
缺点:
选择样式或操作元素很麻烦
更改HTML结构需要更改许多选择器,因为名称与层次结构相关
选项3 ... n:某种混合方法?完全不同的方法?
在将来添加更多元素时,请记住名称冲突的问题,尤其是当您嵌套元素时。同样,理想的解决方案将使更改现有元素的HTML结构变得容易,而不会在其他地方造成太多干扰。
没有找到相关结果
已邀请:
6 个回复
坝胺绣敝
您将获得与第二个示例类似的代码,而无需全部编写。 至于jQuery选择器,如果您想这样做的话,仍然需要将它们写出来,但是拥有这样的复杂选择器通常被认为是不良设计的标志。
痰降锭骂奸
然后,jQuery选择器将是:
(您可以使用更具语义的HTML5标签,从而减少对类的依赖,但是我认为这超出了问题的范围。)
喷乡顾沥沪
膝垫富顷
疮痪徘弦漏
捐焦