问个 selector 的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
hello2060
V2EX    Javascript

问个 selector 的问题

  •  
  •   hello2060 2020-04-30 12:03:53 +08:00 1993 次点击
    这是一个创建于 2068 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚开始用 jquery, 有这么几个问题

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


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

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

    根据个人实践,一般 id 用于特定元素选取,而样式相关的一般使用 class 。
    azcvcza
        3
    azcvcza  
       2020-04-30 14:07:27 +08:00
    页面不大的话,你全用 id 都行
    class 里也有 id,这样选择方法会通用一些,只是要加上对 id 的比较 querySelectorAll('.xxx').forEach(val=>{if val.id == ?})
    VDimos
        4
    VDimos  
       2020-04-30 14:41:45 +08:00 via Android
    这年头还坚持用 jq 的人不多了
    TomatoYuyuko
        5
    TomatoYuyuko  
       2020-04-30 15:02:19 +08:00
    这个好理解,选择器选取 class 拿到的是一个类似数组的对象,支持数组方法。单个选取用遍历或者 eq()直接取。
    id 是页面唯一的,一般对特殊的元素进行处理会用,当然你每个元素都给也不能算你错
    class 处理批量的样式多一些,个人习惯是能用 class 就别用 id,避免你页面复杂起来发生冲突。
    hello2060
        6
    hello2060  
    OP
       2020-04-30 15:10:44 +08:00 via iPhone
    @VDimos 不错了,我半年前还去读过 COBOL 程序呢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2687 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 09:13 PVG 17:13 LAX 01:13 JFK 04:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86