教你js对象删除某个元素 js获取类名的3种方法( 六 )


// var mylink = document.getElementById("mylink");var mylink = document.getElementsByTagName("link")[0];console.log(mylink);var mystyle = document.getElementsByTagName("style")[0];console.log(mystyle);所有浏览器都会包含<style>元素和rel特性被设置为stylesheet的<link>元素引入的样式表;
第二类是CSSStyleSheet类型,表示样式表本身;通过document.styleSheets属性会返回一个只读的类数组StyleSheetList对象集合,该集合具有length属性和item()方法,集合内保存着CSSStyleSheet对象,表示与文档关联在一起的样式表;
var styleList = document.styleSheets;console.log(styleList);// StyleSheetListconsole.log(styleList.length);// 3console.log(styleList[0]);// CSSStyleSheet// 遍历var sheet = null;for(var i=0, len=document.styleSheets.length; i<len; i++){sheet = document.styleSheets[i];console.log(sheet.href);}可以直接通过HTMLLinkElement(<link>)或HTMLStyleElement(<style>)元素的sheet属性获取CSSStyleSheet对象;低版本的IE不支持sheet,但提供了一个同样作用的styleSheet属性;
var mylink = document.getElementById("mylink");var mylink = document.getElementsByTagName("link")[0];console.log(mylink.sheet);// CSSStyleSheetconsole.log(mylink.styleSheet); // 在低版本的IE中返回CSSStyleSheetvar mystyle = document.getElementsByTagName("style")[0];console.log(mystyle.sheet);// CSSStyleSheetconsole.log(mystyle.styleSheet);// 在低版本的IE中返回CSSStyleSheet兼容处理:
function getStyleSheet(element){return element.sheet || element.styleSheet;}var link = document.getElementsByTagName("link")[0];var sheet = getStyleSheet(link);console.log(sheet.href);在使用之前,检测浏览器是否支持DOM2级样式表;
var supportsDOM2StyleSheet = document.implementation.hasFeature("StyleSheets","2.0");CSSStyleSheet对象:
接口代表一个 CSS 样式表,并允许检查和编辑样式表中的规则列表;其继承自StyleSheet接口,后者可以作为一个基础接口来定义非CSS样式表;从接口继承的属性如下:
disabled:表示样式表是否被禁用的布尔值,R/W,将这个值设置为true可以禁用样式表;
var styleList = document.styleSheets;var ss = styleList[2];console.log(ss.disabled);ss.disabled = true;// 元素的样式失效// 封装一个小函数,用来开启或关闭样式表// 如果传递一个数字,将其当做document.styleSheets对象中一个索引// 如果传递一个字符串,将其当作CSS选择器并传递给document.querySelectorAll()function disableStyleSheet(ss){if(typeof ss === "number")document.styleSheets[ss].disabled = true;else{var sheets = document.querySelectorAll(ss);for(var i=0; i<sheets.length; i++)sheets[i].disabled = true;}}disableStyleSheet(0);disableStyleSheet("style");disableStyleSheet("link");href:如果样式表是通过<link>包含的,则是样式表的URL,否则null;
media:当前样式表支持的所有媒体类型的MediaList类数组集合;与所有DOM集合一样,这个集合也有一个length属性和一个item()方法;如果集合为空,表示样式表适用于所有媒体;
<style media="screen and (min-width: 500px),tv and (max-width: 1000px)">.container{width:300px;height:200px;background-color: salmon;}</style><script>var styleList = document.styleSheets;var ss = styleList[2];console.log(ss.media);// MediaListconsole.log(ss.media.length); // 2console.log(ss.media[0]);// screen and (min-width:500px)console.log(ss.media.item(1)); // tv and (max-width:1000px)MediaList对象还拥有mediaText属性,返回元素media特性的值;
console.log(ss.media.mediaText);MediaList对象拥有appendMedium(medium)和deleteMedium()方法,分别用作添加和删除媒介;
ss.media.appendMedium("print");ss.media.deleteMedium("tv and (max-width:1000px)");一般来说,很少去操作media属性;
ownerNode:指向拥有当前样式表的节点的指针,样式表可能是在HTML中通过<link>或<style>引入的,如果样式表是其他样式表是通过@import导入的,该属性值为null,低版本IE不支持该属性;


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: