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修真院