ID和CLASS有什么区别?


_腾讯视频

【JS-01】

ID和Class有什么区别?

小课堂【武汉分院】

分享人:徐恒

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

一.背景介绍

我们平常在用DIV CSS制作html网页页面时,常会用到class 和id来选择调用CSS样式属性。对学习CSS的新手来说class和id可能比较模糊,同时不知道什么时候该用class,什么时候又用id,以及它们用法与限制是怎么样的。接下来我们就来讨论下CLASS与ID基本属性及用法。

二.知识剖析

Class 在程序中称“类”,同时在CSS中书面语也叫“类”。他表示的是具有共同特点的东西,比如苹果香蕉梨可以归为水果一类。

在CSS样式中以小写的“点”及“.”来命名如: .css_demo{属性:属性值;} ,而在html页面里则以class="css_demo" 来选择调用,命名好的CSS又叫css选择器。

而且class(类)在同一个html网页页面中可以无数次的调用相同的class类,这也说明class一般是用来调用css中的预配制属性的,比如说有一个预配制属性为如这里的“.css_demo{属性:属性值;} ”,这样就可以像调用函数一样不用再一个网页页面里重复的配置一个“类”属性,而只需要写上一个class类选择,就可以在同一个页面里任何位置调用选择具有相同的CLASS类。

ID是表示着标签的身份,在JS脚本中会用到id,当JS要修改一个标签的属性时,JS会将id名作为该标签的唯一标识进行操作。也就是说ID只是页面元素的标识,供其他元素脚本等引用。假如你的页面里出现了两个同名ID,那JS效果特性会出现逻辑错误而不知道依据哪个ID来改变其标签属性(一般选第一个,第二个不会选)。 在CSS里的ID不一定为JS而设置的,但是同样ID在页面里最好只能出现一次,保持唯一性。

在css 页面中的ID是怎么个用法呢?

通常我们在CSS样式定义的时候 以“#”来开头命名id名称如:#css5{属性:属性值;} 这个也有点像class的定义,只是class是以小写句号“.”开头命名,而ID是以“#”好开头定义。

特别注意:在命名id和class类的时候特别要注意大小写,ID和class是对大小写非常敏感的,最好以英文开头,不要用中文命名CSS类名。

三.常见问题

在css JS JQ中class和id用法

四.解决方案

CSS中

一个用.一个用#

用法如上,但要注意覆盖之外的权值问题.

class表示一类当然可以对多个元素设置,但ID表示唯一身份,虽然目前的浏览器还都允许用多个相同ID,一般情况下也能正常显示,不过当你需要用JavaScript通过id来控制div时就会出现错误

在js中

ID通过document.getElementById(IDname),

document.getElementById("id4").style.cssText="width: 200px;height: 200px;background-color:purple;";

CLASS通过 document.getElementsByClassName(CLASSname)

var js_css4 = document.getElementsByClassName("css4");

js_css4[0].style.cssText = "width: 200px;height: 200px;background-color:purple;";

js_css4[1].style.cssText = "width: 200px;height: 200px;background-color:red;";

// 但是没有类似JQ的js_css4.style.cssText = "width: 200px;height: 200px;background-color:purple;";只能用循环for()

JQ中ID用$("IDname")

$("#id5").css({"width": "200px", "height": "200px", "background-color": "red"});

CLASS用$("CLASSname")

$(".css5").css({"width": "200px", "height": "200px", "background-color": "yellow"});

//这里是按顺序选择css5类中第几个

$(".css5").eq(0).css({"width": "200px", "height": "200px", "background-color": "orange"});

$(".css5").eq(1).css({"width": "200px", "height": "200px", "background-color": "green"});

五.代码实战

总结

class一般用来干什么

1.在css中,用class来指定标签的类名。多个标签可以写同一类名。多个类名也可以写在一个class中如:class="btn color box"

2.在JS中,获取到的class将是一个数组,在使用的时候要特别注意!也是对象。document.getElementsByClassName(CLASSname),用下标选中同一类中第几个。

3.在jQuery中,获取到的class将是一个对象,用$("CLASSname"):eq() 选择器选取带有指定 index 值的元素。

ID一般用来干什么

1.在css中,用id为元素设置单独的,特殊的样式,虽然目前的浏览器还都允许用多个相同ID,一般情况下也能正常显示,不过当你需要用JavaScript通过id来控制div时就会出现错误(就只是选中第一个名为ID标签)

锚点结合a标签

用于充当label标签for属性的值

2.在JS中,使用id为特定的标签设置特定的行为document.getElementById(IDname),

3.在jQuery中,使用id为特定的标签设置特定的行为$("IDname")

六.拓展思考

id和class还有什么别的用法

7.参考文献

参考:HTML name、id、class 的(格式/应用场景/特性)等区别介绍

八.更多讨论

鸣谢

感谢大家观看

BY : 徐恒

问题

class能不能当锚点?

name id class 用法区别?

为什么现在css样式中相同的id还是可以用?





------------------------------------------------------------------------------------------------------------------------

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !

你可能感兴趣的:(ID和CLASS有什么区别?)