id选择器不是只能使用一次吗

圈O你个X叉丶
  • 12

id选择器不是只能使用一次吗,为什么有的代码里面会和元素选择器结合 比如 p#aaa{color:red;}和#aaa h2{color:blue;}这样不是在文档中出现不止一次了吧

回复
阅读 6.1k
6 个回答

id只能用一次而不是id选择器,这是不同的概念

你是这个意思?

    <label id="abc">world</label>
    <p>
        <label id="abc">hello</label>
    </p>

怎么说呢?
选择器加上条件一定是可以的

var txt = $('p > #abc').text();
alert(txt); // 这里输出hello

为什么非要这样呢?
这不是自己给自己找麻烦吗
既然是ID 你就当是唯一标示 就不重复就完了

给标签写id就是为了js或者CSS定位元素的.所谓的只能用一次是:一个id只能写在一个标签上,不允许多个标签有相同的id属性.
打个比方,你只能有一张身份证,但是可以有无数个人看你的身份证.

id在html中只能对应一个元素,不能将同一个id用在两个元素上!

就好比现实生活中有一群人,这群人的名字不能重名,名字与人一一对应。不允许出现一对多。

另外就是你的疑惑,其实那不是id选择器,而是使用了id的选择器。

p#aaa如果一般很少这样写,如果id="aaa"对应的是p标签,也可以这么用。

aaa h2 这个选择器是选择#aaa对应元素里面的h2,可以是子节点也可以是孙子节点。

id对应元素就好比门牌号对应一个实际位置,你可以用这个门牌号来找这个位置,你也可以用这个门牌号来找它附近的位置。比如你说上海东方明珠电视塔旁边的7天酒店。

css文件有可能是多个页面共用的,而你的多个页面有可能有相同ID的元素存在!

一般情况下,一个html文件只能有唯一的一个id,否则js在用id选择的时候永远只能选择定位到第一个元素,这样不便于调试。当然多个html文件可以存在相同的id元素。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏