XHTML 不支持属性占位符

XHTML doesn't support attribute placeholder

我正在使用 XHTML 开发一个简单的网站。在网站中间有一个带有属性“placeholder”的标签“input”:然后我用 trusty XHTML Checker 检查所有内容,但它向我发送了一个错误,该属性“placeholder”已被弃用。我可以使用什么来获得想要的结果?

PS: 我想使用 XHTML 因为它的严格性。

您可能已经注意到 placeholder 属性在 XHTML 1.1 文档中按预期执行,即使它没有验证。
因此,无需任何解决方案即可使其在浏览器中运行,我们所需要做的就是使其生效。

首选解决方案是将文档转换为 XHTML5,但如果由于任何原因(我能想到一个)不可行,您需要做的是将此属性的定义附加到DTD.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
  [
    <!ATTLIST input placeholder CDATA #IMPLIED>
  ]
>
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Input with placeholder in XHTML 1.1</title>
 </head>
 <body>
  <form action="#">
   <p><input placeholder="type&nbsp;here"/></p>
  </form>
 </body>
</html>

这就是一个有效且有效的 XHTML 1.1 文件。希望这对您有所帮助!