总结: 关于标签的type属性

我猜浏览器自身会为每个类型的标签节点存放默认type属性,在执行渲染过程中会自动附加默认type属性,所以现在HTML编码规范提倡的 style/script 标签省去默认type属性。

 

但因此容易忽略两个问题,跟大家提醒下。

 

1. 通过JS生成的节点,需手动设置其默认属性

做个实验

在IE下检测style节点的styleSheet

<style id="test01"></style>

<script>

var styleNode = document.getElementById("test01");

alert(styleNode.styleSheet);

 

var styleNode2 = document.createElement('style');

 

alert(styleNode2.styleSheet);

</script>

 

结果

styleNode1.styleSheet == object

styleNode2.styleSheet == null

 

所以需要手动设置:

styleNode2.setAttribute("type","text/css");

---------------------------

2. 有的标签的默认属性容易产生误导

 

比如我们熟悉的button,其默认type属性为submit。

之前我以为属性为button,导致表单中出现很严重的问题,比如回车提交、重复提交等。

posted @ 2010-09-06 15:18  斯人  阅读(195)  评论(0编辑  收藏  举报