XHTML不支持属性占位符

时间:2019-03-03 15:39:29

标签: xhtml placeholder

我正在使用XHTML编写的简单网站上工作。我将标签“ input”与属性“ placeholder”一起使用。然后我检查所有内容。 XHTML Checker(https://validator.w3.org/check)向我发送了一条消息,该属性“ placeholder”不存在。我该怎么用呢? (它可以是CSS中的属性,也可以是(X)HTML中的另一个属性。)

1 个答案:

答案 0 :(得分:0)

您可能已经注意到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文件正在验证。希望这会有所帮助!