当前位置:  开发笔记 > 编程语言 > 正文

我应该避免在样式表中定义的CSS类上使用jQuery选择器吗?

如何解决《我应该避免在样式表中定义的CSS类上使用jQuery选择器吗?》经验,为你挑选了2个好方法。

我关心的是使用我的jQuery选择器在样式表中定义的CSS类.原因是当样式表中定义了CSS类时,开发人员/设计人员有很多理由要更改类的名称或者如何在与jQuery选择器分离的html中使用它,而jQuery选择器也使用了类.没有什么可以告诉开发人员/设计人员在进行此更改时需要考虑JavaScript功能.

最好是避免将jQuery选择器与合法的CSS类联系起来,而是使用不依赖于任何样式的CSS类,并且使用像'j_'这样的前缀,这使得它的目的显然是专门用作jQuery选择器?这将使耦合不那么脆弱,代价是标记中的额外类名.这也会使验证引擎发现未定义的类不太有用,但前缀有望明显表明这些类是作为jQuery选择器的目的.

....

我知道CSS类应该根据它们的功能命名.但是,我并不认为以这种方式命名类可以解决问题.开发人员/设计人员仍会更改名称,即使他们的新名称仍然描述相同的功能,或者他们可能会修改使用它的位置.在这些情况下,这些更改不会影响JavaScript功能.



1> Marius..:

css类名称应该描述元素的功能,而不是它应用于它的样式.如果您有一个浮动到左侧的侧边栏,请调用类侧边栏,而不是leftFloat.这样你就可以将侧边栏的样式放在cbar的sidebar类中,并应用你需要的任何jquery函数.

编辑澄清其中一条评论:您不必重命名元素的类或ID.如果您有侧边栏,那么它可能会改为工具栏或顶部导航.它仍被称为侧边栏是否重要?用户从不注意到.或者你可以给出一些真正抽象的名字,比如导航窗格和主要内容.

上周我开始使用jQuery供内部使用的webapp,我只更改了一个id的名称,因为我需要更多地概括它.除此之外,每个类和id保持完全相同的名称.



2> rmeador..:

我认为你的问题纯粹是概念性的.该classHTML中的属性不定义CSS类.它定义了元素的语义类.只是碰巧CSS使用这些类来应用样式(与jQuery选择器使用它们应用其他功能的方式非常相似).没有什么可以阻止您拥有未在样式表中定义的类,或者根本没有样式信息的类.因此,所有类都应该被视为代码的一部分,而不是样式.代码规定了类,CSS只是背负语义标记来应用样式.因此,CSS永远不应该指定类名,并且设计者不应该更改类名.我意识到乍一看这可能听起来非常像(非常正确地)建议你"使用语义名称"的其他答案,

参考文献:这个网站非常清楚我的观点; w3schools也简要提到了它.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有