html5可以省略结束标签,前端——HTML5 可以省略结束标签(script标签不能自闭合!)...

本来是个非常基础的问题,之所以要写篇博客是因为今天发现

意思就是是不合法的

必须写成的形式否则js文件的内容不起作用

本来我以为HTML5非常宽松,浏览器支持也非常强大(事实也是如此)这点小事不会出问题吧,

但今天确实出现了这个问题只因为

下边是我在网上查到的原因:

在 XHTML 的标准里面规定非 EMPTY 标签不能使用自关闭形式。注意这里使用的是全大写的 EMPTY ,所以我不把它翻译为「空白」。

那么 EMPTY 到底是什么呢?写过 DTD 的人应该知道它是个关键字,用来指明一个标签的内容必须是空白,而不能包含文本内容或子节点。看看具体的例子就很容易明白了:

src %URI; #REQUIRED

alt %Text; #REQUIRED

longdesc %URI; #IMPLIED

height %Length; #IMPLIED

width %Length; #IMPLIED

usemap %URI; #IMPLIED

ismap (ismap) #IMPLIED

>

这是 img 标签的定义。 ELEMENT 关键字说明它是一个元素, EMPTY 关键字说明它的内容必须是空白。因此,我们可以使用自关闭形式:

image.png

留意 ATTLIST 里面声明了两个属性是 #REQUIRED 的,所以必须提供。

接下来我们再看看 script 标签的定义:

id ID #IMPLIED

charset %Charset; #IMPLIED

type %ContentType; #REQUIRED

language CDATA #IMPLIED

src %URI; #IMPLIED

defer (defer) #IMPLIED

xml:space (preserve) #FIXED 'preserve'

>

可以看到 script 标签通过 (#PCDATA) 声明了它的内部允许包含 CDATA 数据,因此它不是一个带 EMPTY 关键字的标签,也就不可能使用自关闭的写法。

所以就这样了,不知道类似于

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值