html隐藏标签disable,HTML中Link元素disable属性详解"disabled"属性
应⽤场景
对于 link 元素,当且仅当 link 元素被⽤来链接⼀个外部样式⽂件时,应⽤"disabled"属性定义可以切换的样式表。其功能类似于前⼀⼩节中我们提到的元素 rel 属性取值为"alternate stylesheet"时的情况。除此之外,link 元素的"disabled"属性总是返回 false,且不产⽣任何作⽤。
以下,我们给出例⼦说明"disabled"属性的⽤法。定义两个的 stylesheet,通过 button,控制其 disabled 属性的状态,切换当前应⽤的stylesheet,从⽽实现动态更换样式。
清单 2. disabled 属性实现动态样式
function setStyle()
{
ElementById("CSS_1").disabled)
{
htmlbutton属性}
else
{
}
}
有时,我们也需要应⽤"disabled"属性禁⽤样式⽂件,实现样式定义对⽤户的隐藏。考虑如下应⽤场景,针对⼀个⽂本编辑器,开发⼈员定义了⼀套编辑器使⽤的样式⽂件,但他不希望该样式选择器被普通⽤户使⽤。此时,开发⼈员可以使⽤"disabled"属性禁⽤样式⽂件,通过document.StyleSheets
得到该样式⽂件,读取样式定义内容,将该内容绑定到相应 HTML 标签的 Style 属性上,达到隐藏样式⽂件的⽬的。
Attribute VS. Property
为了清楚的解释元素的"disabled"属性,我们⾸先讨论“属性”⼀词的概念。从英⽂⾓度,Attribute 和 Property 都可以翻译为“属性”,但是它们的本质不同。本⽂仅讨论两者在 web 应⽤开发过程中的区别。
⾸先,Attribute 指的是 HTML 元素的标签所有的标记特征,是⼀种⽂本描述⽅式。⽽ Property 则是针对 DOM 树,描述 DOM 对象所具有的特性。在 W3C 标准中,对于 HTML 中 Attribute 属性,在 DOM 有⼀个相应的 Property 属性,如⼀个 div 元素的 id 和 class 既是 Attribute 也有 Property。由于 DOM 属性通常与其所对应的 HTML 属性同名,因此常常被认为这两个“属性”是等价的。
其次,对于 W3C 标准定义的 Attribute 和 Property 属性,两者总是保持⼀种同步关系,设置其中任意⼀个,都会同时影响另⼀个的值。⽽对于⾮ W3C 标准的⾃定义属性,这两个概念应该被区分。⽽早期版本的 IE 浏览器,如 IE6、IE7、IE8(quirks mode)中混淆了 DOM 对象的属性及 HTML 标签属性这两个概念,使得 HTML 元素的⾃定义属性与对应的 DOM 对象的⾃定义属性也会像规定中定义了绑定关系的那些标准属性⼀样保持着⼀种同步关系。这个错误的实现⽅式导致了⼀系列的兼容性问题。
最后,举例说明,通常我们可以通过".disabled"的⽅式访问 Property,通过".getAttribute("disabled")"的⽅式访问 Attribute。对于元素,W3C 的 DOM ⽀持"disabled"作为 Property,⽽其作为 Attribute,只有 IE 浏览器⽀持。以下我们将分别针对 Attribute 和Property 进⾏浏览器兼容性讨论与分析。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。