javascript - 问个弱智问题 有了class为什么还要用id??
黄舟
黄舟 2017-04-11 12:42:23
[JavaScript讨论组]

起因是这样,最近项目网站前台部分完成了(前后端未分离),交给后端(.net)看了,提出意见,说我为什么html页面里要出现id,我(黑人问号脸)。。。他说他们以前都要求前端页面中不准出现id全用class来控制,原因是因为项目需求变了原本觉得是唯一的box现在要分成两个来用,但我其中用了一些id不管是css还是js都用了其id来操作,随后想了也是,如果项目以后的变更谁也不能预料为什么还要用id,用id能办到的用class也完全能办到,感觉有点多余。。求解答?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(16)
天蓬老师

你跟他说,扯犊子呢。
id是用来确定唯一的DOM的,虽然通过选择器可以用class来确定这个DOM,但你首先要保障这个class不会被其他的DOM使用,还要确保使用的class名称不会和已有的样式冲突。
是,上面这些因素虽然繁琐了些,但是要想强制规范的使用也是可以的。但是有没有想过,这么使用class,不就是把class当id使吗?那还谈什么项目变更后谁也不能预料。难道id就不能预料,class就可以?

另外,id就是用来选择DOM用的,不用id用class就好像你明知道别人的名字,但你却不喊别人的名字,非要叫什么穿红衣服的,戴眼镜的,这不是隔靴挠痒吗?

黄舟

ID天生支持锚点,还有一点,id和class计算css属性权值不同。

http://stackoverflow.com/ques...

PHP中文网

id是唯一的啊,十个p,class一样,那控制样式的时候,直接通过class,可以把这十个p全设置了,但要具体的调节这十个中的某一个,就要用id了

PHP中文网

在css选择器里,id的优先级比class高,对同一个元素,id下的规则可以覆盖class下的规则。

阿神

一句话,DOM选择上id比class要快

怪我咯

能办到并不一定方便。。。。。。
既然有了加法,为什么还要定义乘法和减法呢,他们能做的加法都能做,为什么还要去背乘法口诀呢?

黄舟

对于唯一元素,页面肯定不会出现第二次的东西,肯定是用id好。
原因如楼上说的,速度快。假如你的页面像一个电商网站一样,特别特别长,但是每个区块又是特定的板块,肯定用id区分好。用class选取元素时候,是需要将整个文档都遍历完的,而且执行一次选取就需要遍历一次。
id标示貌似在dom解析时候,就已经保存起来了,每次选取的时候,都是可以很快速地调用到元素。

PHPz

性能好啊,速度快啊,巴拉巴拉,先喷回去再说,忽悠他

伊谢尔伦

熟的数度会比一样吧,还有id是唯一的,class不是唯一的

大家讲道理

因为ID具有唯一性,CLASS可以广泛引用。

举例来讲,ID就像身份证编号,不会重复。

名字就像CLASS,大家可以重名。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号