请简述HTML5为什么要删除一些标签和属性

html-css07

请简述HTML5为什么要删除一些标签和属性,第1张

因为不利于编程。

先说属性:

删除的那些属性,都是可以在 css 中实现的,但是之前设计的不够合理的缘故,导致部分的属性可以采用内联的方式来实现。

想想看,只需要 css 文件来改样式和需要 css 文件和 html 内联属性去改样式,那个更清晰明了。

于是简单的采用一种迭代进步的方式,逐步逐步的将内联的属性给删除掉。

再说标签,这个就麻烦点,有好几点:

第一、这些标签能够被 CSS 实现,那就没必要留着。

第二、这些标签是为了适应浏览器大战而特别加设的,是只支持部分浏览器的标签,这是由于过去浏览器之间的标准混乱导致,而现在不需要了。

第三、有 bug 或是不推荐的标签,比如 frame 标签,HTML5 中不支持 frame 框架,只支持 iframe 框架。

$str = '<span style=\"font-family:\'Arial\',\'sans-serif\'font-size:9pt\">test</span>'

//$str=stripslashes($str)

$str = preg_replace('#<([^>\s/]+)[^>]*>#','<$1>',$str)

echo htmlspecialchars($str)."<br/>"

针对于你提的问题,如果想去掉class和style属性必须对所需要去掉属性的标签增加id

以你提供的代码为例,首先需要增加id属性,修改后如下:

<div class="content" id=“testdiv”>

<div id="t1">

文本1

</div>

<p class="bbb" id=“testp”>

文本2.....<font color='#00000'>文本3</font><span style="line-height:24px">文本4</span>

</p>

</div>

然后编写对应js代码,代码如下:

function delClass(){

$("#testdiv").removeClass("content")

$("#testp").removeClass("bbb")

}

上述代码可以去除Class

注:

如果程序为进入页面后调用则需要在body中增加onload方法也就是:onload="delClass()"

如果为点击式触发则在页面增加按钮,对按钮总方法onClick方法指定删除的js方法

希望回答对你有用。