我应该在html中插入什么,以便在代码验证器中可以使用?

时间:2011-12-05 19:40:51

标签: javascript html html5

这是我的HTML:

<!DOCTYPE html>
<html>

<head>
<script>

function run(){
    var div = document.createElement('div')
    div.style.position = 'absolute'
    div.style.left = 0
    div.style.top = 0
    div.onmouseover=function(){
        alert('mo')
        this.style.opacity = 0
    }
    div.style.width = 30
    div.style.height = 30
    div.style.backgroundColor = '#000'
    document.body.appendChild(div)
}

onload = run
</script>
<title></title>

</head>

<body>

</body>

</html>

这个hmtl在quirks模式下运行正常。 但是,我知道我需要为html使用其他一些标签。

我想知道...... 1 - 我应该添加哪些其他标签,因此它在代码验证器中运行正常?

2 - 为什么我的javascript不能使用html5 doctype? (它在怪癖模式下正常工作)

谢谢:)

2 个答案:

答案 0 :(得分:5)

您必须为高度和宽度指定units指示符。例如:cmmminptpcpxemenexchremvhvwvminvmax

div.style.width = "30px";
div.style.height = "30px";

如果没有单位指示符,则您的值无效,div不占用页面空间。

此外,虽然JavaScript的其余部分在技术上是有效的,但在每个语句的末尾看到分号是很好的。但是,也许这只是我个人的偏好。

答案 1 :(得分:1)

  

我收到了3个警告。如果你测试html,我的div不会出现。 - Marcelo Noronha

要摆脱两个字符编码警告,您需要通过head标记在meta标记中声明字符编码。这样的一个例子如下(对于使用UTF-8):

<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   ...
</head>

您获得的第三个警告是因为W3验证器基本上警告您HTML5仍在进行中,因此您的验证结果将来可能会发生变化。

要显示div(与HTML验证无关),请参阅gilly3关于为宽度和高度属性指定单位的答案。