ID和Class的区别?

ID和Class的区别?

 

大家好,我是 IT 修真院的一枚正直纯洁善良的WEB程序员。

今天我给大家分享的是:ID和Class的区别?

 

一,背景介绍

 

HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器。HTML页面中的

元素就是通过CSS选择器进行控制的。本次讲的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类名。 

 

三.常见问题

在JS如何使用ID和Class?

 

四.解决方案

 

在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来为元素添加样式----css

利用id来为元素添加行为----js/jQuery

ID的作用?

 

id 属性规定 HTML 元素的唯一的 id。

id 在 HTML 文档中必须是唯一的。

id 属性可用作链接锚(link anchor),通过 JavaScript(HTML DOM)或通过 CSS 为带有指定 id 的元素改变或添加样式

 

class的作用?

1.在css中,用class来定义那些可复用的样式,然后可以套给多个结构/内容。

2.在JS中,获取到的class将是一个数组,在使用的时候要特别注意!

 

七.参考文献

 

html中,id属性和class属性有什么区别?

CSS 的 ID 和 Class 有什么区别?如何正确使用它们?

CSS选择器优先级及!important属性

 

八.常见问题

 

1.ID和class的区别?

答:id是一个标签,用于区分不同的结构和内容,就像人的名字,如果一个房间内有2个人同名,在老师点名的时就会出现混淆;

class是一个样式,可以用在任何结构和内容上,就像一件衣服;

 

2.ID和class的优先级?

答:通过继承来的属性 id 的优先级高于 class

CSS的优先级顺序:   tag中的style   >   id     >     class   >   继承的属性

一个元素同时应用多个class,后定义的优先(即近者优先),加上!important者最优先!

 

3.同一页面使用相同的id会怎样?

答:不能通过W3C的校验。在页面显示上,目前的浏览器还都允许你犯这个错误,用多个相同ID

“一般情况下”也能正常显示。但是当你需要用JavaScript通过id来控制这个div,那就会出现错误。

4. 什么是id?什么是class?

答:id:从语义上来说,id是identity(ai'dentiti)的简写,identity是身份的意思,比如我们的身份证就叫做id-card。

在html中,id是设置标签的标识,使用方法

#id名称{样式声明}

document.getElementById("id名称")

$("#id名称")

 

class:从语义上来说,class是类别的意思,他表示的是具有共同特点的东西,比如我们说我们是一类人,就是说我们有相同的特点。

在html中,我们用class为标签设定一个可以复用的标识,具有同样class的标签就会有相同的特点:

class名称{样式声明}

document.getElementsByClassName("class名称")

$(".class名称")

 

 

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

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

技能树.IT修真院