我想阐明设计人员/开发人员工作流程方面的良好实践。
这是我的观察,如果我错了,请告诉我:CSS 和 JS 应该使用相同的属性没有根本原因。与 html 标签关联的事件与应用于它的样式无关,将它们分开将有助于开发人员和设计人员的维护。
我的问题是:为什么两者之间没有严格的区分?我知道我们可以自由地为 JavaScript 使用自定义属性,并为 CSS 保留 ID、类和 HTML 标记名称,但是 jQuery 中的一切似乎都是为了使用它们。例如 :
$("#myid").html("Test");
$("#myid").addClass("clickable");
$("#myid").removeClass("clickable");
if($("#myid").hasClass("clickable")) var clickable = true;
等等 为什么会这样?
附带问题:仅对 JavaScript 使用自定义属性是否存在一些性能问题?
$('[event="clickable"]').html("Test");
Roy Tomeij 的这篇文章http://roytomeij.com/2012/dont-use-class-names-to-find-HTML-elements-with-JS.html在 stackoverflow 中提到:JS 和 CSS 的单独 ID 和类似乎建议不要在 Javascript 中使用类,但这就是我目前发现的所有内容,我想扩大讨论范围。
对于 CSS 和 JavaScript 来说,拥有这两项是很有价值的:唯一 ID 和多个类,但是当我想到它时,我们可以拥有 div,例如
<div css_id="mydiv" css_class="green" js_id="unique_element" js_class="other_event">
以及假设的 CSS 属性和 jQuery 函数,例如
div#mydiv{margin_top:20px;} //reads from css_id attributes
div.green{color:green;} //reads from css_class attributes
$("#unique_element").click(function(){alert("Clicked!")}) //reads from js_id attributes
$(".other_event").click(function(){alert("Congratulations!")}) //reads from js_class attributes
并且以同样的方式
$("#unique_element").addClass("clickable2"); //add a value to the js_class attribute
谢谢你们!我不打算为了探索改进团队工作流程的方法而重新发明一切。