面向 Web 开发人员版本 — 最后更新于 2024 年 9 月 12 日
ins
元素在所有当前引擎中支持。
cite
— 链接到引用的来源或有关编辑的更多信息datetime
— 更改的日期和(可选)时间HTMLModElement
。以下内容表示添加了一个段落
< aside >
< ins >
< p > I like fruit. </ p >
</ ins >
</ aside >
以下内容也是如此,因为 aside
元素中的所有内容都算作 短语内容,因此只有一个 段落
< aside >
< ins >
Apples are < em > tasty</ em > .
</ ins >
< ins >
So are pears.
</ ins >
</ aside >
以下示例表示添加了两个段落,其中第二个段落分两部分插入。此示例中的第一个 ins
元素因此跨越了段落边界,这被认为是不好的形式。
< aside >
<!-- don't do this -->
< ins datetime = "2005-03-16 00:00Z" >
< p > I like fruit. </ p >
Apples are < em > tasty</ em > .
</ ins >
< ins datetime = "2007-12-19 00:00Z" >
So are pears.
</ ins >
</ aside >
以下是一种更好的标记方式。它使用了更多的元素,但没有一个元素跨越隐式段落边界。
< aside >
< ins datetime = "2005-03-16 00:00Z" >
< p > I like fruit. </ p >
</ ins >
< ins datetime = "2005-03-16 00:00Z" >
Apples are < em > tasty</ em > .
</ ins >
< ins datetime = "2007-12-19 00:00Z" >
So are pears.
</ ins >
</ aside >
del
元素在所有当前引擎中支持。
cite
— 链接到引用的来源或有关编辑的更多信息datetime
— 更改的日期和(可选)时间HTMLModElement
。以下内容显示了一个“待办事项”列表,其中已完成的项目用完成的日期和时间划掉了。
< h1 > To Do</ h1 >
< ul >
< li > Empty the dishwasher</ li >
< li >< del datetime = "2009-10-11T01:25-07:00" > Watch Walter Lewin's lectures</ del ></ li >
< li >< del datetime = "2009-10-10T23:38-07:00" > Download more tracks</ del ></ li >
< li > Buy a printer</ li >
</ ul >
ins
和 del
元素的公共属性cite
属性可用于指定 URL,该 URL 指向解释更改的文档。当该文档很长时,例如会议记录,作者鼓励包含指向该文档中讨论更改的特定部分的 片段。
如果 cite
属性存在,则它必须是一个 有效的 URL,可能包含空格,用于解释更改。用户代理可能允许用户跟随此类引用链接,但它们主要用于私人用途(例如,服务器端脚本收集有关网站编辑的统计信息),而不是供读者使用。
datetime
属性可用于指定更改的时间和日期。
如果存在,datetime
属性的值必须是一个 有效的日期字符串,可选时间。
此值主要用于私人用途。
由于 ins
和 del
元素不会影响 分段,因此在某些情况下,如果段落是 隐式 的(没有显式的 p
元素),那么 ins
或 del
元素可以跨越整个段落或其他非 短语内容 元素,以及另一个段落的一部分。例如
< section >
< ins >
< p >
This is a paragraph that was inserted.
</ p >
This is another paragraph whose first sentence was inserted
at the same time as the paragraph above.
</ ins >
This is a second sentence, which was there all along.
</ section >
通过只将某些段落包装在 p
元素中,甚至可以使一个段落的末尾、整个第二个段落和第三个段落的开头被同一个 ins
或 del
元素覆盖(尽管这非常令人困惑,并且不被认为是好的做法)
< section >
This is the first paragraph. < ins > This sentence was
inserted.
< p > This second paragraph was inserted.</ p >
This sentence was inserted too.</ ins > This is the
third paragraph in this example.
<!-- (don't do this) -->
</ section >
但是,由于 隐式段落 的定义方式,无法使用同一个 ins
或 del
元素标记一个段落的结尾和下一个段落的开头。相反,您必须使用一个(或两个)p
元素和两个 ins
或 del
元素,例如
< section >
< p > This is the first paragraph. < del > This sentence was
deleted.</ del ></ p >
< p >< del > This sentence was deleted too.</ del > That
sentence needed a separate < del> element.</ p >
</ section >
部分原因是上述的混乱,作者强烈建议始终用 p
元素标记所有段落,而不是使用跨越 隐式段落 边界的 ins
或 del
元素。
ol
和 ul
元素的内容模型不允许 ins
和 del
元素作为子元素。列表始终表示其所有项目,包括原本应被标记为已删除的项目。
要指示项目已插入或删除,可以将 ins
或 del
元素包装在 li
元素的内容周围。要指示项目已被另一个项目替换,单个 li
元素可以包含一个或多个 del
元素,后跟一个或多个 ins
元素。
在以下示例中,一个最初为空的列表随着时间的推移添加和删除了项目。示例中已加重显示的部分显示了列表的“当前”状态。列表项目编号不考虑编辑,尽管如此。
< h1 > Stop-ship bugs</ h1 >
< ol >
< li >< ins datetime = "2008-02-12T15:20Z" > Bug 225:
Rain detector doesn't work in snow</ ins ></ li >
< li >< del datetime = "2008-03-01T20:22Z" >< ins datetime = "2008-02-14T12:02Z" > Bug 228:
Water buffer overflows in April</ ins ></ del ></ li >
< li >< ins datetime = "2008-02-16T13:50Z" > Bug 230:
Water heater doesn't use renewable fuels</ ins ></ li >
< li >< del datetime = "2008-02-20T21:15Z" >< ins datetime = "2008-02-16T14:25Z" > Bug 232:
Carbon dioxide emissions detected after startup</ ins ></ del ></ li >
</ ol >
在以下示例中,一个最初只包含水果的列表被一个只包含颜色的列表替换了。
< h1 > List of < del > fruits</ del >< ins > colors</ ins ></ h1 >
< ul >
< li >< del > Lime</ del >< ins > Green</ ins ></ li >
< li >< del > Apple</ del ></ li >
< li > Orange</ li >
< li >< del > Pear</ del ></ li >
< li >< ins > Teal</ ins ></ li >
< li >< del > Lemon</ del >< ins > Yellow</ ins ></ li >
< li > Olive</ li >
< li >< ins > Purple</ ins ></ li >
</ ul >
构成表格模型一部分的元素具有复杂的内容模型要求,不允许使用 ins
和 del
元素,因此指示对表格的编辑可能很困难。
要指示已添加或删除了整行或整列,可以将该行或列中每个单元格的整个内容包装在 ins
或 del
元素中(分别)。
这里,表格中添加了一行
< table >
< thead >
< tr > < th > Game name < th > Game publisher < th > Verdict
< tbody >
< tr > < td > Diablo 2 < td > Blizzard < td > 8/10
< tr > < td > Portal < td > Valve < td > 10/10
< tr > < td > < ins > Portal 2</ ins > < td > < ins > Valve</ ins > < td > < ins > 10/10</ ins >
</ table >
这里,删除了一列(还给出了删除时间,以及指向解释原因的页面的链接)
< table >
< thead >
< tr > < th > Game name < th > Game publisher < th > < del cite = "/edits/r192" datetime = "2011-05-02 14:23Z" > Verdict</ del >
< tbody >
< tr > < td > Diablo 2 < td > Blizzard < td > < del cite = "/edits/r192" datetime = "2011-05-02 14:23Z" > 8/10</ del >
< tr > < td > Portal < td > Valve < td > < del cite = "/edits/r192" datetime = "2011-05-02 14:23Z" > 10/10</ del >
< tr > < td > Portal 2 < td > Valve < td > < del cite = "/edits/r192" datetime = "2011-05-02 14:23Z" > 10/10</ del >
</ table >
一般来说,没有很好的方法来指示更复杂的编辑(例如,一个单元格被删除,移动所有后续单元格向上或向左)。