我知道在HTML/XHTML页面中id必须是唯一的。

对于一个给定的元素,我可以给它分配多个id吗?

<div id="nested_element_123 task_123"></div>

我意识到我有一个简单的解决方案,只需使用一个类。我只是好奇以这种方式使用id。


当前回答

这是专门的课程,而且 下面是你可以理解它的代码:

<html>
<head>
    <style type="text/css">
     .personal{
            height:100px;
            width: 100px;

        }
    .fam{
            border: 2px solid #ccc;
        }
    .x{
            background-color:#ccc;
        }

    </style>
</head>

<body>
    <div class="personal fam x"></div>
</body>
</html>

其他回答

正如其他人在我之前说过的那样,简单的答案是否定的。一个元素不能有多个ID,一个ID在一个页面中不能使用多次。试一试,你就会发现它有多不管用。

针对tvanfosson关于在两个不同元素中使用相同ID的回答。据我所知,一个ID在一个页面中只能使用一次,不管它是否附加到不同的标记。

根据定义,需要ID的元素应该是唯一的,但如果需要两个ID,那么它就不是唯一的,而是需要一个类。

从7.5.2元素标识符:id和class属性:

id属性为元素赋值唯一标识符 由SGML解析器验证)。

and

ID和NAME标记必须以字母([a- za -z])开头,并且可以是 后面跟着任意数量的字母,数字([0-9]),连字符(“-”), 下划线(“_”),冒号(“:”)和时间(“。”)。

所以“id”必须是唯一的,不能包含空格。

不。每个DOM元素(如果它有id)都有一个唯一的id。你可以用以下方法来近似:

<div id='enclosing_id_123'><span id='enclosed_id_123'></span></div>

然后使用导航来得到你真正想要的东西。

如果你只是想应用样式,类名会更好。

我的理解一直是:

id是一次性使用的,只应用于一个元素… 每个元素都作为唯一标识符归属于(仅)一个元素。 类可以使用不止一次… 因此,它们可以应用于多个元素,类似但不同的是,每个元素可以有多个类(即多个类)。

不。虽然W3C对HTML 4的定义似乎没有明确地涵盖您的问题,但name和id属性的定义表明标识符中没有空格:

ID和NAME令牌必须以字母([a- za -z])开头,后面可以是任意数量的字母、数字([0-9])、连字符("-")、下划线("_")、冒号(":")和句号(".")。