问个 selector 的问题

2020-04-30 12:03:53 +08:00
 hello2060
刚开始用 jquery, 有这么几个问题

1. 一般是用 class 做 selctor 多还是 id 多
2. 一般 id 是整个页面唯一的吗,这样的话直接#id 就行了,还是要指定 tyep, class 下的 id, 感觉有点多此一举,如果 id 是唯一的话?


谢谢
1651 次点击
所在节点    JavaScript
6 条回复
Yuxiaoy
2020-04-30 12:11:59 +08:00
1 看你想实现什么样的效果,两种都可以用
2id 页面唯一,可以不指定 type
xiaoming1992
2020-04-30 12:12:34 +08:00
id 确实是全局唯一,但是一般用于选取指定的元素,来进行进一步的操作。

class 的用途一般是用于给**一批**相似的元素添加样式,比方说有 50 个元素,都是红色边框,你没必要给他们每个都加一个 id,直接用 class 就好了。

根据个人实践,一般 id 用于特定元素选取,而样式相关的一般使用 class 。
azcvcza
2020-04-30 14:07:27 +08:00
页面不大的话,你全用 id 都行
class 里也有 id,这样选择方法会通用一些,只是要加上对 id 的比较 querySelectorAll('.xxx').forEach(val=>{if val.id == ?})
VDimos
2020-04-30 14:41:45 +08:00
这年头还坚持用 jq 的人不多了😧
TomatoYuyuko
2020-04-30 15:02:19 +08:00
这个好理解,选择器选取 class 拿到的是一个类似数组的对象,支持数组方法。单个选取用遍历或者 eq()直接取。
id 是页面唯一的,一般对特殊的元素进行处理会用,当然你每个元素都给也不能算你错
class 处理批量的样式多一些,个人习惯是能用 class 就别用 id,避免你页面复杂起来发生冲突。
hello2060
2020-04-30 15:10:44 +08:00
@VDimos 不错了,我半年前还去读过 COBOL 程序呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/667567

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX