使用没有相应CSS规则的CLASS属性是不是很糟糕?

CRi*_*ice 12 css jquery standards classname identifier

例如,如果我想使用jQuery选择某个具有某个类的元素,并且仅仅因为这个原因,是否应该总是期望这些类应该在css中定义?

<div class="xyz">
something
</div>

<div class="xyz">
something else
</div>

//with example jQuery
$(".xyz").hide();

//is it wrong no element 'xyz' is defined in css?
Run Code Online (Sandbox Code Playgroud)

Mik*_*cic 8

这是完全可以接受的.随着客户端处理变得越来越普遍(通过jQuery,ExtJS,Prototype等),创建可以使用这些库提供的强大选择器支持的高效代码是有意义的.


Thi*_*ter 5

使用CSS类和 - 根据具体情况 - ID(唯一!!)非常好,并且通常是保持HTML代码有效的唯一解决方案,同时提供脚本使用的其他属性.

虽然使用非标准属性通常也可以正常工作,但它会阻止您的HTML代码进行验证,并可能在将来导致问题.

但是,对于某些情况,也可能存在可以使用的属性 - 例如rel通常用于修改链接行为的脚本的链接.

http://www.w3.org/TR/html401/struct/global.html#h-7.5.2还提到该课程是通用的:

另一方面,class属性为一个元素分配一个或多个类名; 该元素可以说属于这些类.类名可以由多个元素实例共享.class属性在HTML中有几个角色:

  • 作为样式表选择器(当作者希望将样式信息分配给一组元素时).
  • 用于通用用户代理处理.